« first day (4198 days earlier)      last day (942 days later) » 
00:00 - 21:0021:00 - 00:00

00:07
eval(`
if (typeof module !== "undefined") {
    module.exports = halfwit2;
} else {
    globalThis.halfwit2 = halfwit2;
}
`);
Webpack = pain
Ever seen Parcel?
I use it constantly
Because webpack is pain
LDMC: Try to fumble through my docs and make a 12x12 matrix of the multiplication table
Does it have a typescript plugin?
It has many types that it can handle
Yes
It's become very popular within the last years
What's cool is, let's say you have an html file, you can just script src to the TS file and it will do everything. It's very siple to set up
Or link to an image and it will compress it and stuff
00:21
0
Q: Triangle area from side lengths

xnorOutput the area \$A\$ of a triangle given its side lengths \$a, b, c\$ as inputs. This can be computed using Heron's formula: $$ A=\sqrt{s(s-a)(s-b)(s-c)}\textrm{, where } s=\frac{a+b+c}{2}.$$ This can be written in various ways, such as $$ A= \frac{1}{4}\sqrt{(a+b+c)(-a+b+c)(a-b+c)(a+b-c)}$$ $$ ...

01:00
Sandbox posts last active a week ago: Find all matches for the digit pattern
01:21
0
A: Sandbox for Proposed Challenges

AdamMake CIGAR from two strings In the field of genomics, CIGAR (Concise Idiosyncratic Gapped Alignment Report) strings are sometimes used to indicate how a DNA sequence aligns to a reference sequence of DNA. CIGAR strings are sequences of <operation, length> pairs. An operation can be M, meaning "match

challenge idea: decide when to activate star power in (simplified) guitar hero to get the most points
so no sustains/taps/HOPOs?
and no strum notes either?
wait, do all of those have different impacts on score?
i know sustains are different cause you can wammy and the way they arent like, discrete
I was wondering what you meant by simplified guitar hero
good point i guess the parts relevant to the challenge dont need major simplification
01:33
man so hard not to call it clone hero
lol do it it dont mattah
code hero
all I know is clone hero and soundclown mash ups :p
Well RIP my browser history
Apparently every time you update the `location.hash` on a local file, it adds a new history entry, since it's always considered cross-domain even in the same file
This goes on for hours
oh god lol
I think I'm just gonna have to nuke the past week lol
01:35
@NoHaxJustRadvylf You Fool, you Blongus, you absolute utter Clampongus.
Which I hate doing since I rely way too heavily on autocomplete suggestions to efficiently navigate the blagoblag
@lyxal for simplicity, i guess id just say that only regular notes and sustains exist. would it make sense to only have one note as well? or does having different notes playing at the same time make the challenge better :P
@thejonymyster for a challenge, probably one note at a time. Probably no chords
sad! but yea fair
meaning I can't suggest soulless 4 as a test case, but oh well
01:37
literally whats the point then
btw I don't actually play GH/CH - I get my game knowledge from watching streamers lol
i play gh casually but i only was thinking about this as a challenge cause i was watching acai's vid lol
he was like, timing a specific moment to do star power
and i was like "really? i guess it does make a difference when you do it, yeah"
@thejonymyster well yeah. It's how someone can FC a meme chart and still take the L to someone with a -15 of the same chart
right gfsdg
@Zionmyceliaadamancy i almost want to say there's some fungeoid that did it first but i haven't ever really gotten into 2d langs
01:55
help
how
Does jQuery have .innerHTML?
its not jquery
function $(el){
return document.querySelector(el);
}
Check what $("#display") is just in case
Your function might be being overridden with jQuery
Chrome's console does that, even
Although I'd expect undefined not '' though...
$("#display").innerHTML = '<span style="color: #3063ec>"i"</span>'; $("#display").innerHTML returns '<span style="color: #3063ec>" i"<="" span=""></span>'.........
what is happening
Missing closing "?
01:58
@NoHaxJustRadvylf I dont have JQuery linked
@NoHaxJustRadvylf Don't see what that would change though
@aketon They're saying that chrome does that anyway I think
@NoHaxJustRadvylf oh yeah there is
@NoHaxJustRadvylf no
Omg im stupid
02:00
Could I get some final opinions on this? It's been in the sandbox for a few days.
It seems boring and likely a near-dupe
Dupe? Of what?
Checking for two vowels in a row is maybe slightly interesting but probably a near-dupe, and the diacritic check is just going to be containsing a combining diacritic character in a normalized string
@tybocopperkettle Not an exact dupe, but as in it doesn't add much new
 
1 hour later…
03:21
@DLosc oh ok thanks
 
1 hour later…
04:37
@Steffan Critical problem: It doesn't handle top-level await
Works fine when I manually edit in an async, but that's still annoying
05:02
maybe try fixes here near the bottom
Ah well, I just went back to webpack
doing a js project does require expert-level google skills
let fs = require('fs');
let text = fs.readFileSync('./dist/bundle.js', 'utf8');
eval(text);
module.exports = halfwit2;
well yeah, that's certainly an option :P
I need top-level await to load the Jelly dictionary, and can't be bothered finding a way around that
I should probably just store the dictionary somewhere
05:15
yeah
if you don't have i/o tasks to run and wait for in parallel, there's little point in using async btw
05:43
CMC: Remove every third item of a list
can we assume all positive integers?
Vyxal: 0p⁽0 3$Ṁꜝ
I have 6
Three different 6-byters in fact
Found a 4
06:03
1
Q: Can we doubt all knowledge?

AZeedCan we doubt all knowledge from all sources (perception, reports, and reason)? Regarding doubting reason, reason can't be proven, it is preceived and judged instantly by our logic, but what if our logic is not true? Did anyone ever doubt that much? What definitely proves or disporves his/her doub...

Someone's getting existential
@lyxal żǒTİ
06:29
WHYYYY does webpack have to return my interpreter wrapped in a promise, Symbol and default getter that error when I try to use them?
js actively hating emanresuA
 
2 hours later…
08:34
I've figured it out
It's a natural consequence of having and using top-level await
@Steffan Does Chocolate have docs?
 
2 hours later…
10:14
15 hours ago, by Steffan
anyway my chocolate docs are up to date now. online interpreter if someone wants to try it
10:33
@Bubbler lol
 
2 hours later…
12:22
@lyxal why does that make a difference? :O
because I wanted to use the "keep only truthy things" element :p
I insert 0s at every 3rd item and remove them
i immediately know your approach then lol
yeah
my approach with posints would be to do some like
filter by index + 1 mod 3
filter by index?
nah nah I literally replace each third item with 0
12:28
right, thats different from yours lol
lmao
i just knew you were using 0 falsiness lol
maybe "approach" was too strong a word :P
in any case i will submit that anyway
@emanresuA js, 27 bytes: x=>x.filter((_,i)=>(i+1)%3)
thought: separate operator for "mod(x+1,y)" because that happens when you 0 index gfsdg
12:49
hm. so i know sometimes when a language has a builtin function that solves a challenge, the answer is posted as nameoffunction, rather than x=>nameoffunction(x) or whatever
can someone run by me why that wouldnt work for like, dot operator functions?
e.g. x=>x.toLowerCase() becomes .toLowerCase()
i have a few half baked ideas as to why not
it depends on the function reference syntax of the language
i.e. the (s) -> s.toLowerCase() in Java as a reference is String::toLowerCase()
 
1 hour later…
14:12
I just got ratelimited for regular SE browsing, what the heck :D is the rate limit that low
14:36
@emanresuA Philosophy.SE is a 50/50 mix between rigorous questions about logic and the vaguest shower thought garbage imaginable
@thejonymyster Some things like searching have an especially low rate limit. I still wouldn't think a human would be able to reach it though.
@thejonymyster In most existing languages that's a syntax error, submitting nameoffunction works because if you do f=nameoffunction you get a usable f(x). No reason you couldn't make a language that works that way though.
It would just be rather cursed
Since for a f = .toLowerCase you don't know what type you're applying it to later on
In Ruby you can sort of use symbols as anonymous functions, like [1, 2, 3].map(&:to_s) == ["1", "2", "3"]
The symbol is :to_s
Then there are languages where foo(x) is more or less the same thing as x.foo
and f = :to_s; [1, 2, 3].map(&f) works
and & is just Ruby's special way of passing function references
it's the same with actual anonymous functions, f = ->{_1.to_s}; [1, 2, 3].map(&f)
but you can't call symbols directly like you can with actual functions
(->{_1.to_s}).(1) == "1"
but (:to_s).(1) gives an error
So can symbols alone be given as answers? I don't know
@NoHaxJustRadvylf ok so thats sort of what i was thinking, function submissions are about the function being like, a valid object / element in your language, rather than a snippet
14:48
@NoHaxJustRadvylf well apparently i did :P
Are you at home or somewhere where you might be sharing an IP address?
im at work, but nobody else here goes on SE
because theyre all old and this is an air conditioning company
(self doxxed)
thejonymyster knows old people confirmed :ooo
theres this one thing i write on a lot of documents as shorthand, involving emailing someone i work with,
its kind of a fun string and would be a fun name for a thing, but i found that if i google it along with my state, it gives my place of work
which like, nobody really cares and im not worried about assassination attempts or anything but like... i dont like to tempt fate too much :P
idk its a combination of internet safety and insane paranoia
Yeah, I'm like 90% sure none of y'all are assassins, but since TNB's a public room you never know who'll come across it later
14:54
yeah
is there some other reason a shared IP would cause problems even if nobody else is using it for the same site?
I can't image there would be
then (kahoot voice) was i toooo fast?
idk i guess i do switch pages and open a lot of links p fast
Switch statements are so cursed
1. Each case should be its own block. A const in one case shouldn't cause errors when you make a const with the same name in another case
I can't wait for switch expressions with real proper pattern matching in Java
Oh this is JS
2. Automatically falling to the next case is the cause of a ton of bugs. You should need to specifically tell it to fall or continue or something
15:08
Actually nvm this is a problem with every C-like language with switch statements, having to break is so dumb
yeah
only useful in certain cases
@PyGamer0 how are you delimiting explicit lists? spaces or commas or something else?
spaces or commas your wish lol
@NoHaxJustRadvylf same in java
so (1 2 3) and (1,2,3) or (1, 2, 3) would all be valid lists?
15:15
@user not in kotlin
Don't insult Kotlin, its when is not a switch statement
It's proper pattern matching (and more), the way it should be
@thejonymyster including (1+2+3+4), really anything can be the space delimiter :P
Oh god that's cursed
(^^ older version)
@user this
@PyGamer0 wait so you only got ints and lists?
similar to a lang i had earlier
15:18
yeah

Strings are useless.

Sep 14, 2021 at 5:56, 35 minutes total – 47 messages, 4 users, 0 stars

Bookmarked Sep 14, 2021 at 6:34 by PyGamer0

@PyGamer0 wait what why lol
i think the parser just parses while there are digits then ignores non digits
@thejonymyster i dunno
it do be like that
my plan with the lang im working on is to have two list delimiters, one thats really high precedence and one thats really low precedence
@thejonymyster interesting....
15:24
LDQ: which makes more sense btw as a 2d array: 1 2 3,4 5 6,7 8 9 or 1,2,3 4,5,6 7,8,9
result being
1 2 3
4 5 6
7 8 9
hm, third option: those are terrible choices for the symbols, my idea for a better pair of delimiters is...
i just realized something
weve been naming our recent langs from plants
@PyGamer0 what does do?
@Seggan should i hop on this bandwagon once my lang is in presentable form
i am still thinking about names :P
sure
15:35
yippii
chocolate, fig, flax
i had no idea flax was a plant
tho originally fig wasnt intended to be named after a plant
Flax, also known as common flax or linseed, is a flowering plant, Linum usitatissimum, in the family Linaceae. It is cultivated as a food and fiber crop in regions of the world with temperate climates. Textiles made from flax are known in Western countries as linen and are traditionally used for bed sheets, underclothes, and table linen. Its oil is known as linseed oil. In addition to referring to the plant, the word "flax" may refer to the unspun fibers of the flax plant. The plant species is known only as a cultivated plant and appears to have been domesticated just once from the wild species...
omg linseed
that one user is working on a lang called lin
lol
more plant langs
argh muscle memory
15:38
actually i thought of a really stupid name idea
let me make sure it makes sense before i say anything else though
chocofiglinflax?
wow how did you guess exactly what i was thinking :P
seriously?
no lol
nah ive got a dumb pun in mind, but im trying to figure out if the joke actually relates to something unique abt the lang :think:
every operator in the language has variable arity (i forget the term) and the way you take multiple args to the operator is using it as a delimiter for the args
so x&y&z is parsed as [&: x, y, z]
@Seggan make an infinite list by cycling
15:45
im not sure how significant this detail is though, or whether itd be worth making the lang name a pun off of it
@PyGamer0 ah
@Seggan recent, how recent do you think flax is?
specifically: "Everybody to Delimit" :P
@thejonymyster infix language?
15:46
^^^^ just curious :P
but i am planning on having like
special cases for if you have no left arg or no right arg n stuff

Birth of flax :P

Nov 29, 2021 at 5:57, 21 minutes total – 29 messages, 5 users, 0 stars

Bookmarked 6 secs ago by PyGamer0

@PyGamer0 erm a few months?
yikes
like +1 2 3 would be "add nothing to the list [1,2,3]" but thats silly, so i was gonna make it be "reduce [1,2,3] by +"
this was one month after i stopped working on dinoux
i started exploring the tacit zone without finishing my stack language
i got bored of dinoux
in fact you can see what i did with the previous language here:

 dead room

shhh nothing to see here
it was the language with infix support
i even made fun of vyxal for not having infix support lol
16:03
i wanna finish fig and then make a bunch of variants based on different paradigms and see which is golfiest
infig is not very golfy, i tried
havent tried tactfig or stackfig
maybe arfig
or tapfig
figlog
nah that needs a whole different builtin set
Idea: BF but you can increment and decrement the max cell size
0
A: Sandbox for Proposed Challenges

SegganFind The Average String code-golf string Inspired by this Your task today: given two strings, find the string with the lowest average Levenshtein distance to the input strings. For example, using Steffan and Seggan, the average string will be Steggan. It is distance 2 from Steffan (replace the ...

16:47
@NoHaxJustRadvylf this and you dont get -
Hi guis
I'm somewhere in somewhere and my plane is about to leave
I might not be active for about 1 month
plz don't steal my rep thanks
17:03
@mathcat You should put your rep in a vault to protect it. I've got a spare one lying around you can borrow (it's full of limbs though)
Dec 15, 2016 at 19:34, by Dennis
> A friendly message from The Name of All that is Good and Holy: Hello! This is The Name of All that is Good and Holy. Before you think of making your own extension to this language, here's another idea for you to consider: Don't! For the love of me, please don't make another derivative of this language! Unless you have something truly new to contribute, it's been done a million times before and will probably make it worse than the original.
@thejonymyster I... don't know, actually. I could see it either way: either space (i.e. no delimiter) binds more tightly than any operator, like in Haskell, or the runs with no space are visual units and thus comma binds more tightly.
Another option: 1,2,3;4,5,6;7,8,9. Now that I look at it, tho, it's kind of hard to see the difference between , and ; at a glance.
@Zionmyceliaadamancy Sure, it's a pretty minor change, and trivial BF variants are extremely common and rather boring, but...actually I have no defense for it lol
BF derivatives are good "I want to make something today even if it's not all that good" langs though :p
Has anybody ever succeeded in making a tape-based language that's not just "BF but different"?
I guess Turing Machine Code
And also the part of my brain that designs interesting language features has kind of disintegrated after a week straight of this:
17:21
@DLosc Yeah, both of the things you mentioned were running through my mind too lol
@thejonymyster IMO they're both bad
1‿2‿3,4‿5‿6,7‿8‿9
Is there any reason you're not doing it like [1 2 3] [4 5 6] [7 8 9]?
That's easier to visually parse, easier to extend to higher dimensions, and more familiar to most people
@NoHaxJustRadvylf wow that looks very cool
17:30
@NoHaxJustRadvylf i think to make it golfier
Ah, maybe. Although there's better ways of doing that IMO (like not having an array literal syntax at all)
@NoHaxJustRadvylf i concur with pygamer
Best array literal syntax is just two operators you probably already have: pair and append
For pre/postfix and stack based, at least. Maybe in tacit it could be worth it.
imo its worth it in prefix as well
fig has a "collect to list" variadic op
Something like that could be useful, yeah, depending on the syntax. But the classic [1 2 3]-type syntax costs n + 1 additional chars per item, which is way more than that or pair-append would.
17:42
Is it? Suppose pair is , and append is ;. Then with left-associative infix operators of the same precedence, you'd have 1,2;3,(4,5;6);(7,8;9). My guess is that different precedences or associativities would simply lead to putting the parentheses somewhere else.
A lot depends on whether you need a separator between consecutive values when there's no operator between them.
@DLosc You're using infix, that's the problem
Prefix/postfix/stack-based don't need parentheses at all
12,3;45,6;,78,9;;
Although yeah if you need a separator between the digits it's a lot longer
That's a good point
Joining individual digits into numbers just doesn't really make sense for golfing languages though IMO
????
it makes perfect sense
No, it's horrendously ungolfy
Have a couple single byte number literals, sure, but for anything bigger than like 8 or 10 or 16, just have a digraph that covers all the two digit numbers and some common three-or-more digit ones
And then for bigger numbers you'll usually have a shorter way of generating them anyway, like number compression or multiplying factors
And it doesn't even have to cost more operators. If you replace, say, 9 (the least common single digit number used in golfed code) with a digraph operator, the number 9 costs exactly one more byte, but literally every other number becomes the same size or shorter.
@NoHaxJustRadvylf Is 9 the least common? I'd've thought it might see more use due to being one less than 10.
17:58
Same here, but surprisingly it's less common, at least in JS and Jelly
@NoHaxJustRadvylf well that does work, im looking at the option of having a second list delimiter at a different precedence level
@NoHaxJustRadvylf so excited for this always. your brain's integrity is a price im willing to pay
> Somebody else paying a price is a price I'm willing to pay
Hmm
Site's down, BTW
same here
@NoHaxJustRadvylf my lang is entirely infix so that may be the problem yes lol
18:07
Site's back
but like important to note that like [1 2 3] isnt the list, 1 2 3 is
@thejonymyster Infix gang represent
because its 1, 2, and 3 delimited by the "enlist" operator, which is a space :P
@DLosc no
@Seggan s/$/t anymore/
18:09
@thejonymyster So you have like, different infix list operators for different ranks?
thats what im considering, yeah
Maybe you could do something like a consistent one, and a second operator that tells it to go up/down a level
Not sure if that would work
then i was like "hmm would comma be higher precedence or space?" which is when i asked the 2d array question
@thejonymyster I'm almost positive there's a practical language that has this. Maybe Julia?
just use two spaces to delimit rows
1 2 3 4 5 6 7 8 9
extends naturally to multidimensional arrays
18:18
Yes, it's Julia (though it has to be wrapped in square brackets): [1 2 3;4 5 6;7 8 9]
If golfiness isn't a concern ^^ is probably the best option
If golfiness isn't a concern, I'd say wrapping each level in [ ] is the best option. Once you get past two, trying to count how many spaces in a row there are sounds unnecessarily difficult.
@NoHaxJustRadvylf i think some obscure math notation had this
@DLosc Same syntax is used in MATLAB (which is probably where Julia got it from).
@Neil Wouldn't it be really hard to read when you have three dimensions and are writing on multiple lines?
Also really easy to mess up
18:46
@Neil that would just be a 1 dimensional array with empty list items :P
@DLosc what doesnt julia have
@thejonymyster you won't be able to distinguish between an empty list item or a list item that's an empty list anyway
misread
a list item that was an empty list could just be ()
or like
hm
im not actually sure my lang supports empty lists atm :P
19:17
@thejonymyster Which, in a way, is the problem I have with the language: it throws all kinds of function overloads into the global namespace together, which makes it hard to find the one you want. (Maybe there's a better way that I haven't encountered.)
19:35
@thejonymyster -~i
19:48
@DLosc Wow, that looks daunting. Isn't there something like Hoogle for Julia?
IDK, which is why I said maybe there's a better way.
Though even if there were, that wouldn't help if you're looking for an overload that you've defined yourself.
@emanresuA BQN, 11 bytes: (2>3|↕∘≠)⊸/
every month i become more radicalized against overloading :P
If I ever make a golfing library for BQN, ↕∘≠ is gonna be the first builtin I add
@UnrelatedString See, I really like overloading, I just think there's gotta be a better way to handle it than dumping everything in the same namespace.
typeclasses
and typeclass-adjacent implementations
19:55
like python's dunders are honestly an alright way of doing it
Ruby's are better
@UnrelatedString I've heard the term before, but I don't actually know what that is. Do you have a short explanation?
__add__
Not dunders, typeclasses
19:57
Never mind :P
@emanresuA oh does that solve the order of operations issue? awesomesauce?
@UnrelatedString "Like Java interfaces, only better." Got it.
cNt test rn
@UnrelatedString Well, typeclasses kinda dump everything in the same namespace
the fundamental idea being that instead of having discrete overloads of individual functions you have single functions that are implemented differently for individual types on the types' side
19:59
Whereas with Java, you'd have a separate add method on each class
@UnrelatedString ... Okay, I think I understood that. (Had to get my brain out of Python land and into non-object-oriented, overloadable-functions Haskell land.)
So if you define a type and you put it in the Show typeclass, the compiler will complain unless you've also overloaded the show function to handle arguments of your new type?
@thejonymyster CMC: Given a string consisting of letters and spaces, replace any uppercase letter with an a followed by the lowercase version of that letter. E.g. "cNt test rn" -> "cant test rn" and "CMC" -> "acamac"
Similar to the inverse of this
@Zionmyceliaadamancy Acc!!, 73 bytes
@Zionmyceliaadamancy 13 bytes in Jelly. Stupid Œu wrapping characters :/
@Zionmyceliaadamancy wait, this doesn't work cause of spaces
20:15
@Zionmyceliaadamancy Pip, 10 bytes: aRXU'a.LC_
@Zionmyceliaadamancy wait, yes it does :/
Look ma, no Unicode
@emanresuA I'm usually lax with I/O format, but not this lax :P
Also, I think you missed that you replace the uppercase with the lowercase
@Zionmyceliaadamancy Jelly, 10 bytes
@Zionmyceliaadamancy it even happened for the same reason, except that im on mobile, so shift is a lock character and goes away after you type the char
@UnrelatedString Otherwise, it's a 2,2,0,2 pattern in the dyadic chain, which is broken up as (2,2),(0,2)
remember, 2,2,0 isn't a pattern
isn't (2,2,0) supposed to take precedence
couidl have sworn it was lmao
oh the lcc thing
lmao
@UnrelatedString 2,2,0 is broken down as (2),(2,0)
one of these days i should actually gaze into the abyss of the chain parsing code
because it is surprising that it wouldn't greedily parse that as (2,2),(0)
20:40
@UnrelatedString The abyss stares back :P
Stupid markdown
so the tutorial table actually is accurate
lccs just can't stop fucking with me
if arities(chain[0:3]) == [2, 2, 0] and leading_nilad(chain[2:]):
	ret = dyadic_link(chain[1], (dyadic_link(chain[0], (ret, rarg)), niladic_link(chain[2])))
	chain = chain[3:]
Because 0,2 isn't an LCC, the 2,2,0 pattern isn't matched :P
yep :P
it is kinda funny that 2,2,0 is basically a failsafe for when the alternative would be an unparseable nilad, when otherwise 2,0 has "precedence" over 0,2
00:00 - 21:0021:00 - 00:00

« first day (4198 days earlier)      last day (942 days later) »