« first day (3830 days earlier)      last day (1007 days later) » 
00:00 - 20:0020:00 - 00:00

8:00 PM
:(
 
Thanks all! Off for now
 
I was working on Jyxal (Vyxal in JS) but gave up because I had to implement 500 builtins and figure out how to vectorise generators
 
Yeah, it's not worth it
An easier way to do it would be to simply send POST requests to the Vyxal interpreter
Not much of a JS interpreter though :P
 
I'm so silly sometimes...
Thanks @user, for now that'll totally do
@lyxal Incommmmiingggggg......
@Ausername I'm down to split the work, if you're still up to it
It might be worth giving the transpilers a shot first, though
 
@AviFS I really don't recommend it - the Python interpreter itself is undergoing a rewrite right now
 
8:04 PM
That's fair
 
I mean, it's great if y'all could make Jyxal, but it's just a lot of effort
 
I didn't think stack langs were all that much work
 
The builtins are
 
Just that the built-ins were tedious
Right, yeah. But that could be done eventually with teamwork
 
Also, since Vyxal uses transpilation, it can get messy. I personally think Vyxal should be interpreted, but lyxal apparently used that before and found compilation easier. Porting Python stuff to JS will be hard
 
8:05 PM
Oh, yeah no I'd definitely be writing an interpreter
 
I don't know about easier to implement, but I would expect transpiled code to run faster than an interpreter.
 
That yes, although I'm not sure how big the difference is given that it's transpiled back into python
So I can't imagine it's a meaningful difference. Only thing is you only have to lookup each builtin only once if you transpile, rather than every time you run into it in a loop
 
^
 
Also, most of the time is spent in the pure Python builtins, not in the Vyxal stuff, so it's kinda like when you call a C library using Python (except it's slower)
 
8:09 PM
Wait...
 
C is Python and Python is Vyxal in this stupid analogy
@AviFS Looking up something in a hashtable is more or less O(1)
 
Yeah, I corrected
 
Whoops
 
i'd also imagine that an interpreter would want to do lookup in one parsing pass
 
Haha, no worries. Thanks for the correctin
@UnrelatedString If there was anything to parse, it probably would
But not all stack langs are worth parsing
Though I guess you're right that vyxal would be
 
8:13 PM
most are quite simple to parse; vyxal is an exception because of its function and variable naming
 
This is why lisp is superior
 
since it sits in between golfing languages and practical languages in terms of design philosophy and features, tokenization is not independent of context
 
so do we think then that the way vyxal transpiles isn't any faster than if it interpreted
 
Can't you do it with regex?
@AviFS We're not going for speed here anyway :P
Debuggability is far more important in a golfing language imo (unless your language is so slow it can't sort a list of 10 numbers within 10 seconds)
 
8:14 PM
i am not actually sure if transpilation or interpretation is faster ¯\_(ツ)_/¯ i can make arguments for both
 
@DLosc I know, but DLosc mentioned speed
 
@hyper-neutrino Don't you mean parameters? :P
*ducks*
 
ಠ_ಠ
 
@hyper-neutrino depends what you're transpiling to, since in a sense an interp is a self-transpiler
But eg, trans/compiling brainfuck to C makes it ridiculously fast
 
@user Don't you mean geese? :P
 
8:17 PM
Don't you mean gooses? :P
*gooses*
 
Like unbelievably faster than interpreting. Because the C compiler knows how to optimize the heck out of that kind of incrementy loopy stuff
 
That's going to be hard for a dynamically typed language (compiling to C, I mean)
 
But if you trans/compile it to Haskell, which doesn't do mutable state... or to Unary... it could be even slower than interpeting, but then again it depends what lang you're doing the interpreting in
 
transpiling to python vs interpreting in python :p
 
@AviFS I mean, transpiling Husk or maybe even Jelly to Haskell would probably be a fantastic idea
 
8:20 PM
Y'all are missing the obvious: transpile bf to bf
 
I know one thing about the Pip interpreter: if it were a transpiler, it wouldn't hit the recursion limit so quickly. Each level of function call in Pip causes about four levels in Python.
 
@user Not if you do it like this ; )
 
CMC: Prove Gilbreath's conjecture. Starting with the prime numbers, repeatedly take the unsigned consecutive differences of the sequence, output the first then repeat if that is 1
 
@AviFS Well, bf is hardly dynamically typed, having only one real type :P
 
^
 
8:22 PM
@cairdcoinheringaahing No, I think transpiling bf to bf or perhaps bf to bf would be much more efficient and easy to implement :P
2
 
Oh, I see! I thought you meant writing the transpiler in a dynamically typed lang was hard
 
Oh no, that's pretty easy as long as the thing you're transpiling is tiny (like bf)
 
@user [+]←256
 
Although I guess writing transpilers for big languages is hard in Python and stuff due to the lack of compilation errors
 
Okay, that joke massively fell apart...
 
8:23 PM
@AviFS Sorry, I don't understand
 
Haha, me neither
 
lol
 
We do ←+1 for APL
This is for brainfuck
idk, something like that
 
@cairdcoinheringaahing Is it okay if our programs don't halt? :P
 
@user Could be interesting to write a Python to C transpiler
@user Only if Gilbreath is correct :P
 
8:26 PM
Nvm, that was wrong
 
Yes, deleting messages without telilng people what you said is wrong :P
Now we'll remain in suspense forever
 
:D
 
Imagine not being able to read deleted messages :P
 
I can read them just fine, it says "(removed)" like this :P
 
It said *********************************
 
8:28 PM
Lies! I don't use that kind of language. /s
 
Fun fact: that's the same number of * as there were characters in that message :P
 
(I figured)
 
Hmm, that narrows it down so much :P
 
You've only got to brute force \$1114112^{33}\$ possible messages :P
 
Even if I have a magic supercomputer that can do that, there's no way to verify which one is right
 
8:31 PM
Actually, I wonder how many Unicode characters can even be sent in chat messages
 
@cairdcoinheringaahing That's a lot of different strings
 
@user You text each one to either me or Dlosc and we'll tell you :P
 
Probably 500?
@cairdcoinheringaahing Get ready for lots of spam :P
 
@user No, like, can you send a null byte in chat?
 
Oh
 
8:32 PM
@user Replies may be somewhat slow.
@cairdcoinheringaahing ᚛ᚈᚑᚋ ᚄᚉᚑᚈᚈ᚜ and ᚛ᚑᚌᚐᚋ᚜ work :P
 
0
Q: A Suitable Mission — The Professor's Revenge

Djin TonicSummer Klerance turned in her term assignment for this challenge. Her professor was miffed (but also amused) when he overheard a disgruntled classmate of Summer's saying she got her answers by simulation rather than by the probabilistic methods covered in the course. Summer received a note to see...

 
@cairdcoinheringaahing Yes:
Sort of. It's part of the message (it shows up when I edit), but it doesn't show up in the displayed message.
 
Doesn't show up in the history either
 
8:53 PM
So, I know JavaScript is full of "wat" moments... but seriously... wat?!
 
I suspect it acts like map((n, i) => String.fromCharCode(n, i)) or something
 
Ord codes are 65, 0, 0, 44, 33, 1 for reference of the last one O.o
 
Okay. All characters with codes 0-31 are between the brackets: `[

]`
 
@user Ah, interesting.
 
8:58 PM
The third parameter refers to the array itself, I think (TIO)
 
@DLosc Interesting. A lot of those show up as boxes in Chrome, but don't show up at all in Firefox.
 
This is why I like overloading
@DLosc Can confirm, usually Firefox shows me boxes for everything
 
Mostly boxes here on Chrome
 
@user I like overloading too--I just wasn't expecting map to take a function with multiple arguments. Even though I used two-argument map myself (intentionally) within the past month.
@user Turns out that the characters are there, they just aren't displayed. Copy and paste into TIO and you'll see them.
 
@AviFS ?
 
9:28 PM
@DLosc That passes three arguments each time
The actual character, its index, and the array being mapped over
 
That's odd, but not entirely wat. The wat for me is why String.fromCharCode accepts more than one argument, and that it doesn't just ignore extra args
 
That's a bit strange, yeah
That's actually super useful for golfing though
Wonder if it works with the code point variation
Yep, it does
That means you can do String.fromCharCode(...[65, 33])
(or String.fromCodePoint if you can spare the bytes for a better option :p)
In the case of charCode, it actually makes sense that it can take multiple arguments, since you might want to pass both UTF-16 codes corresponding to something like an emoji
 
 
1 hour later…
10:58 PM
@Adám Typo haha, nice catch. I wrote it right the first time :P
 
:-)
 
@DLosc Oh yeah (I don't really see them, but I do get boxes with 000E, 000F, etc.
lol, I just confused a Scala answer of mine for Python
Oh, I didn’t mean to post it there. Weird. Thanks — SeaBass 2 hours ago
How do you accidentally log in to a site, write up a question, review it, and post it?
 
Yes, I have some. It should be Any feedback :P
 
For the SKI question, Could you write "where every occurrence of x in E1" in the first sentence after the first bullets?
Also, the title is inaccurate, I don't know how to ski, and neither do many other golfers here :P
 
@user Point your skis down the mountain, try not to die
 
How many dominoes can you fit here? looks interesting and is very clear!
 
> try not to die
Wow, such helpful advice, I would never have thought of that
 
11:22 PM
That's the method for both beginners and advanced skiers, it's the skill level in between that's the problem :P
 
It'd be interesting, too, if you elaborated slightly (a sentence or two), on how you chose the worst-case time complexity
 
@cairdcoinheringaahing Also, thanks for the tip about pointing my skis down the mountain. I've been pointing them up and I keep floating into the sky :P
 
It looks like it's probably an obvious reason, but I'm not always an obvious person
 
@user You joke, but that's literally the basics :P
Plus, beginners never get fast enough to do any serious problems when they crash :P
 
Imagine being able to ski
Made by snown't gang
 
11:25 PM
Also made by 0.5 cm of snow gang
 
@lyxal Australia has skiing tho :P
 
@Bubbler For the ordered/affine/etc. thingy, isn't there a classification-problem tag?
 
@cairdcoinheringaahing TIL
@cairdcoinheringaahing lol, don't know how I missed that
Yeah, there's space for the tag for "Ordered, linear, affine, or relevant"
 
@AviFS It is the bound that allows for at least two (relatively well-known graph-theoretic) algorithms with different bounds. The faster one has time complexity of O(w^1.5 h^1.5), which looks kinda weird and can be a spoiler to a specific algorithm :P
@cairdcoinheringaahing TIL too
 
11:30 PM
@Bubbler Ooh, neat. I think it'd be interesting if you added that, or at least clarified that the time complexity was chosen to fit the algorithms. I read it as having found algorithms that fit a predetermined complexity, rather than the other way around!
 
> challenges which require to classify as well as possible the chosen test cases.
I'm not sure what this means (taken from the classification tag wiki)
 
From how I read that, it looks to be
 
Ah, should I replace code-challenge with test-battery then?
Actually, that entire description isn't too helpful imho
 
No, it looks like that entire section should be removed
 
I'd say it's + , where the solution with the highest number of correct classification wins
It's a classical type of problem in machine learning
 
11:33 PM
@user What changes did you make here?
 
@cairdcoinheringaahing Someone with more sense than me please edit it then
 
There's nothing in the diff
@user Doing so now
 
@cairdcoinheringaahing I changed the summary at the top, but I didn't touch the body at all
 
The summary is this review
 
Oh lol, I must have removed a single space (see the MD)
Probably best if you reject that one, it's useless
 
11:36 PM
I have, but Bubbler Community approved it
 
C'mon, Bubbler >:| /s Sorry I doubted you
Bad bot
 
Wait
No, Bubbler did approve it and it's pending a review to be settled :P
For some reason, that came up with "Approved by Community" the last time I clicked that
 
Argh
 
Lol, sorry
 
Oh right, I was looking at this ಠ_ಠ
 
11:38 PM
@cairdcoinheringaahing Hmm, perhaps Bubbler is just a facet of Community's personality
@Bubbler np, I'm happy I didn't get a rejected edit anyway :P
 
@cairdcoinheringaahing ಠ_ಠ I can't edit it while the edit pends
 
Imma go use my sock to get it rejected :P
 
Does your sock have 20k+ rep? :P
 
No, and it's in the laundry right now anyway :P
 
Imagine a sock having more than double the main's rep
 
11:41 PM
Or perhaps I'm the sock :P
 
@Bubbler Did y'all not know that Dennis is actually my sock? :P
 
Imagine a sock being a mod
and a much better golfer than the main :P
 
@Bubbler caird obviously went too far trying to commit voter fraud :P
 
I agree with greg
He seems trustworthy, for some reason :P
 
Of course I'm trustworthy, I invented gregular expressions
I am also extremely gregarious
 
11:44 PM
If you can't trust the inventor of gregular expressions, then who can you trust? :P
 
Fun fact: This account was actually a sock of mine :p
 
@Bubbler I think HN did just that :P
 
I did some voter fraud though and for some reason my main one got banned and this one was fine so I just kept using it :p
 
lmao
@mods come burn Redwolf's account /s
 
The deleted SO account is still associated with chat for my original account, so I can chat despite having 1 rep on every site
 
11:49 PM
Hmm, can you introduce us to your sock?
 
Actually it seems I have some rep on AU and Area 51, but ignore that :p
 
@redwolf10105 Nice to meet you
 
If you go to the "user profile on stackoverflow" it 404s
 
@ruse Is it you, the inventor of the legendary gregex?
 
11:53 PM
I prefer the term "gregexprs" myself, but yes, it is I. I can offer you an autograph for just $5
 
Can anyone tell me if they see my sockpuppet's pfp as an "f" inside a green square or as my own identicon?
 
First one
 
I guess I'll just have to wait for it refresh :/
 
Everyone always be like "oh I have a sock account"
But nobody be like "oh I have a shoe account"
 
what about a hat account
 
00:00 - 20:0020:00 - 00:00

« first day (3830 days earlier)      last day (1007 days later) »