« first day (1379 days earlier)      last day (990 days later) » 

3:13 AM
How do I escape “” in a string?
 
that is a good question
may not be possible
in which case you just have to stick them back in with replacements and fixed-length literals
or you could also use a base-250 string then base decompress into the jelly code page
anyhow uhhhh
what i was about to ask is
what the hell does a left parenthesis do
it's clearly not just ignored because if you don't replace it with a space here some stuff comes out wrong
 
3:34 AM
@UnrelatedString it's not in the syntax page, probably just messes with parsing
 
Ø< is surprisingly convenient when there's no escapes
just wow
 
I couldn't find it anywhere in interpreter.py so now I'm trying to find where parsing happens and that's not too easy either lmao
 
3:45 AM
why is the parsing based on regex
and why are the regexes at the bottom of the file
when the parsing code is otherwise in the middle of some other functions
 
@UnrelatedString Good programming practices™️
 
i think the functions are in alphabetical order
there's enough else branches in here that it probably falls through the cracks that way
 
whats the line number?
 
well parse_code is line 751 and then i'm not really sure what happens from there
 
else:
					chain.append(create_literal(regex_liter.sub(parse_literal, token)))
 
3:58 AM
yeah
 
so it tries to make a string out of it?
/ integer
 
i think it might end up as a complex number literal that way but i'm not sure it actually is a token
(?: ... ) is just a non-capturing group right
 
@UnrelatedString hmm not sure
python regex?
 
yeah
think python regex is perl compatible
if that helps
 
no clue yet
gib line number
 
4:05 AM
all of the regexes are at the very bottom
 
yep it's a non-capturing group
999
A: Reference - What does this regex mean?

aliteralmindThe Stack Overflow Regular Expressions FAQ See also a lot of general hints and useful links at the regex tag details page. Online tutorials RegexOne Regular Expressions Info Quantifiers Zero-or-more: *:greedy, *?:reluctant, *+:possessive One-or-more: +:greedy, +?:reluctant, ++:possessive ?:op...

 
...wait
 
this answer is really helpful
 
what is a line anchor doing
inside of a group
with a star
oh wait nvm
it's just one of the rules
i guess that's for lccs then
 
interesting
 
4:10 AM
so yeah i guess ( might... break chains? in some way?
i should probably just clone the repo and put a bunch of prints in
 
possibly ( is not escaped in the regex?
idk
 
it's definitely not supposed to do anything
the question is what does it do anyways
okay it looks like ( does just separate chains
and it breaks things because it ocmpletely separates chains in parsing
and I guess it gives them the default chain arity since it doesn't actually parse as a separator like the separators do
default being # of args
presumably
 
4:36 AM
ooo
maybe it was a discarded atom?
 
 
5 hours later…
9:18 AM
doubtful
dennis probably considered making it somehow match ( but never made it a quick or an actual separator and just kind of forgot
 
 
6 hours later…
3:07 PM
@UnrelatedString All unimplemented commands (and “prefixes” like Ø and æ without trailing characters) cause the parser to end the current chain being parsed, discard it and begin a new chain starting after the character
That means that (, q and u all have the same behaviour (and a bunch of other characters), that allow you to put arbitrary code before them and it won’t affect anything else
 
 
8 hours later…
11:26 PM
@cairdcoinheringaahing ...I was about to say "but ( doesn't discard the chain it ends" and then I tested it to make sure and it does discard the chain
I don't know why I thought it didn't lmao
 

« first day (1379 days earlier)      last day (990 days later) »