« first day (4197 days earlier)      last day (943 days later) » 
00:00 - 20:0020:00 - 00:00

20:00
It's so weird how it even preserves spaces. So (x=>x+2).toString() is "x=>x+2"
It even preserves comments
+50 to whoever writes a JS quine using that :P
@Steffan It preserves everything, indenting as well, it just gets it straight from the source code
I know
It's just really cursed
I could probably overload one of my modifiers with sort-by. I don't think it needs to preserve arity.
20:06
Other similar possibilities are min-by and max-by.
oh, good idea
also maybe map over prefixes
@Steffan How does dyadic filter work?
LDQ: Working on an idea for a tape-based language that's (slightly) more usable than BF. Should cell values all be numbers, with strings encoded as numbers using a bijective base system? Or should there be a separate string type?
@Steffan Not in this case
I have modifiers - functions that operate on functions, so those functions' source is referencing stuff that's above their own scope scope.
I guess you could argue then that your language is compiled to whatever internal representation JS uses for its functions, which is a lower-level "language" than JS itself. Kind of like compiling your esolang into Python bytecode.
¯\_(ツ)_/¯
Also, last night when I finally hooked up the function creator to a stack, it just worked.
20:21
\(ツ)/
I suspect it may break at some point in future
put your hands in the air like you don't care :P
@DLosc then all langs are compiled
I don't think so. If you go from the original source code straight to executing each command as you read it, that's interpreted.
20:25
@Seggan That's actually a really common cheating quine approach with JS and the easiest way to do it
@DLosc What if you have to construct an AST?
f=x=>"f="+f
@Seggan f=_=>'f='+f
ninja'd
@emanresuA =_=
@emanresuA Then you could perhaps argue that that's a form of compilation, I suppose.
Pip constructs an AST IIRC
20:26
Yes
@DLosc I don't think so
@NoHaxJustRadvylf I don't either, but I haven't come up with a knockdown proof as to why.
To me a compiled language is one that turns the code into a different, independently storable and runnable language
@emanresuA so does fig and choco
vyxal
@NoHaxJustRadvylf this
You can't just stick the parsed AST into a file, you'd need to represent it in some way, and what is code if not a string representation of an AST
20:28
Interpreters and compilers both construct ASTs
not BF
The line gets kinda blurry between them anyway
"What is grief code if not love persevering a string representation of an AST?" - Vision Radvylf
@user I don't think it does honestly
@user yeah. is python interpreted or compiled? what abt java?
20:29
@NoHaxJustRadvylf JIT makes it so you could call it both
@Seggan Python is interpreted, or if you use a JIT implementation, it's interpreted but the interpreter contains another compiler.
@Seggan I mean, there are different implementations of Python
Woohoo!!! 2 + 3 = 5!!!
Aren't all languages interpreted at the lowest level, though?
no
not IMO at least
@user CPython
20:31
@user JIT falls pretty cleanly into interpreter territory IMO. Sure, there's a compiler inside the interpreter, but there's different things inside different things all the time.
@user Sure, you could argue machine code is an interpreted language. But the compiler doesn't run the machine code (unless it does, in which case the whole thing together acts as an interpreter)
@user machine code is directly electrical pulses flipping transistors inside a CPU
Which is interpretation not compilation
Or some fourth thing if you feel like it deserves its own category
i dont think JIT is an interpreter
the computer still directly runs the output
just a bit later than AOT
@Seggan Did you swap "compiler" and "interpeter"?
"still directly runs the output" sounds like it's talking about an interpreter
20:35
no
im talking about the computer
by ur definition everything is interpreted then
> compilation is not restricted to ahead-of-time compilation to native machine code. A compiler is, more generally, a program that converts a program in one programming language into a program in another programming language
Sure, there's a compiler in a JIT interpreter, but the thing as a whole is an interpreter
It doesn't make sense to call an apple pie an apple
@NoHaxJustRadvylf What about a caramel apple? :P
I'd still say no, since "caramel apple" is just short for "apple and the caramel around it" :p
CMQ: "car-muhl" or "car-uh-mell" or "cair-uh-mell" or "cair-muhl"?
Usually "car-muhl," occasionally "cair-uh-muhl"
@NoHaxJustRadvylf "cair-uh-mell"
20:41
I usually say "cair-uh-muhl", seems like at least where I live it's a pretty even mix between them all
@NoHaxJustRadvylf caird coinheringaahing
Also, Trianguish update: Mouse controls are now almost fully working!
im honestly so excited more than i ought to be probably
I just need to add some sensible logic for what to do when you try to do multiple mouse actions at once (e.g., right click and middle-click-drag)
redirect to a [rickroll](www.example.org)
i need to stop being so fail
20:43
Ultra secret preview:
umm why are so many mouse actions allowed in the first place lol
@NoHaxJustRadvylf This looks like a puzzle game =)
is this one of those things where theres an instruction pointer and the temporal order of actions matters or is it all mostly instant
@thejonymyster Just convenience stuff. Left click drag for moving the screen around, left click for moving the hexagon cursor thingy, right click for op chooser, right click drag to copy an op from somewhere else on screen, middle click for rotate, and middle click drag for auto wire routing
@DLosc thats what ive been saying lol its like a zachlike
20:45
@thejonymyster you're missing the https:// :P
i knowww but its too late to fix it once people see it
OTL
@thejonymyster There's no IP, things can happen simultaneuously (but it's not instant)
scary, hype though
@thejonymyster this is an example of a rickroll :P ez
but that link just leads to never going to give you up by richard astley
20:46
Is his name actually richard
my life is a lie
Fun fact: the rickroll turns 35 today
@NoHaxJustRadvylf Richard Paul Astley
...ort for richard? nah
this looks more interesting
(spoiler: rick astley is not shirtless)
@DLosc it might actually make for a fun puzzle game, now that I think about it
Like, you have a limited inventory of pieces, and you have to pass test cases
21:00
@DLosc Just like Jelly's does
So [F][filter][x][y] (where F is a dyad) would loop through x where the var is Y, and call F(Y, y) on each
oh god...I just got jumpscared so bad by myself
I forgot I implemented a feature, so I was playing around with another aspect of it, then it worked and I was not ready for it
And with that, I believe Trianguish is now feature complete!
@Steffan Oh, okay. So it's filtering x but with y as a constant second argument to the function.
21:15
yes
@NoHaxJustRadvylf is it turing complete?
Optionally :p
The default behavior is restricting numbers to be between 0 and 215, but you can set it to allow arbitrary integers, which allows turing completeness
21:38
@NoHaxJustRadvylf why 215? i get its 6^3-1, but why that amount?
Two reasons: I think it's cool to use base-6 for a hexagon-centric language, and it's perfect for representing operators' IDs alongside their rotations, which is important since there's a lot of self-modifying stuff
and did you just stop at 216 cause it was close enough to 256 without going over? :P
or is that where the operator id thing comes in
Mostly just the operator ID thing I think, but I don't remember specifically since I came up with that part of the language multiple years ago
21:53
years? Wow
Yeah, I had the idea for this language at least two years ago
@NoHaxJustRadvylf The third
@NoHaxJustRadvylf Thesecond
Caramel sucks, anyway. Compilers > Interpreters > Chocolate > Caramel
@emanresuA I was gonna say something similar, but then I remembered that I started working on Pip in 2014, so... ¯\_(ツ)_/¯
21:56
One thing that sucks about compiled languages (or maybe just bad ones, idk) is not having a REPL
Just bad ones
I think it's just bad ones. Haskell has a REPL.
But yes, much harder to make REPLs for compiled languages
Even Java's had a REPL and eval-like stuff for a while now
And with JS, I forget just how convenient it is to be able to hit Ctrl + Shift + C and do some little task in the language I'm most familiar with
@user Typically, caramel is sucked :P
21:58
@NoHaxJustRadvylf Yeah, although often Vyxal's better fir me
How do you type it though?
@DLosc Nightmare fuel: caramel that sucks people
@NoHaxJustRadvylf Not Ctrl + Shift + I?
I thought Radvylf meant copying in the terminal?
@DLosc I usually use I yeah, I thought that C went straight to the console but apparently not
(My Chrome-based muscle memory is for Ctrl-Shift-J, but that doesn't work as well on Firefox.)
22:00
Ah it's J I was thinking of
TIL that's a shortcut
I've been using Ctrl+Shift+I all this time. Vivaldi makes a new note with Ctrl+Shift+C so I got confused
My personal favorite way to open the console is Ctrl + Shift + W. Only works sometimes though.
What does that one do?
Close the window :p
Sometimes I'll have a terminal open behind it
Isn't that Ctrl+W?
22:01
That's the tab
Oh right
Weird, Ctrl+Shift+W did nothing to my window
Which is probably good lol
If Ctrl + Shift + T didn't exist I'd have added a warning :p
Eh, this browser's set to open all previous tabs on startup anyway
@NoHaxJustRadvylf These days, I can open a new browser tab/window and enter a short URL to do some little task in one of the languages I'm most familiar with. Which is very nice. Thanks @Dennis, @pxeger, and @emanresuA :)
True lol
And hopefully soon RTO will be another of those short URLs, which is going to have REPLs for every language (where possible)
22:06
It's weird how so many of these TIO clones popped up around the same time
There was also TiB but Bubbler's not working on that (at least not right now)
I think we all started discussing TIO after someone brought up how increasingly outdated the language versions on it were or something, and then we all spent a while talking about replacing it, and that inspired a bunch of us to make clones
Speaking of, I should really be working on RTO not Trianguish lol
Ah that makes sense
@NoHaxJustRadvylf Do whatever makes you happy
Or gives you more anguish, I guess, given that you seem to be a masochist
@user Trianguish makes me happy, but not working on RTO makes me sad. So Trianguish only has a slight lead, due to my inability to focus on the long term :p
Well, if you have a hard time deciding, you can do what I do: don't work on either of them and instead waste time doing nothing. You'll feel anxious/guilty about it for a few weeks but after that you'll have lost the motivation/momentum and you can move on to a new project to excitedly start work on and then abandon
Relatable :P
22:11
Same :p
@user I came here to have a good time, and I'm feeling really attacked right now :P
22:46
in The Tarpit, 21 mins ago, by DLosc
I've refined my hypercube-based turning tarpit idea a bit. The resulting system covers some corner cases that were not covered by the original idea, but it's also harder to explain. :P
See The Tarpit for my attempt at an explanation.
I bet there were a lot of corner cases to cover :P
Lol
22:59
Opinion: Regexes should default to matching the whole string, and instead of ^$, you can put a $ at the start, end, or both to indicate there can be additional stuff there
That leaves less flexibility for optionally matching an entire string, or just a substring
e.g. (^...$)|(...)|(^...)|(...$)
idk about you but I usually just use regex to extract a part of a string
The entire string could contain all sorts of junk that no one wants to waste an .* on
@Zionmyceliaadamancy That would still work, just in reverse
E.g., ($1$)|2 for "contains a 1 or is the string 2"
@user Hm. The main thing I use regex for is validating the formatting of stuff.
(that and parsing HTML)
@DLosc Thanks for that. It means a lot to me to have DSO, which started as a hobby project, usable to people other than me.
23:25
" No-op
. Wall
= Push 0
0-9 Mul 10 and add 0-9
~ Pop and discard
$ Dup
> Move front to rear (rotate right once)
< Move rear to front (rotate left once)
[ Move to previous deque
] Move to next deque
{ Carry 1 to previous deque
} Carry 1 to next deque
+-*/%! add sub mul div mod not
^ neg
)( inc dec
;`:' numin charin numout charout
_\ space newline
& debug; dump current deque as space-separated numbers
# height
@ halt
? random in [0, n)
The command set for the "tape of deques" thingy I mentioned before
LDQ: Should I stop trying to cram everything into non-alphanumeric ascii?
Looks good :)
You need a 0 command
Oh wait nvm I'm stupid
There is "push 0" near the top
Isn't that =?
21 secs ago, by emanresu A
Oh wait nvm I'm stupid
Was Hexagony the first real lang to implement the "Mul 10 and add 0-9" functionality?
23:29
IIRC chris pressey had something older than that
@Seggan it's been done. but personally I don't think it's a proper quine because the call works by reading the source code, which isn't allowed under proper quine rules
now, very old versions of Firefox actually had a decompiler which reconstructed the source from the byte code, which was fun
@Neil Let me guess, it produced misleading results?
@Zionmyceliaadamancy Martin Ender mentions Emmental in Labyrinth readme
That was what I was thinking of
@emanresuA actually I was thinking of ${new RegExp} (see if you can predict what that evaluates to before doing it)
bah, of course that was in backquotes, but chat...
23:36
Is it (?:)
yup
Nvm, it includes the /
oh yeah I forgot that bit
also it acted as a form of pretty-print
mind you the source code reading version wasn't foolproof, I think there was at least one version where if you edited the source file and then tried to do .toString() on a function it would crash because it couldn't find the code
00:00 - 20:0020:00 - 00:00

« first day (4197 days earlier)      last day (943 days later) »