« first day (3520 days earlier)      last day (1306 days later) » 

2:15 AM
@cairdcoinheringaahing
Where can I find documentation for Levels?
Also, do watch Schindler's List
@Bubbler question is fine, title can be cover the floor tiles with dominoes or something like that, if you do want to change it. I don't mind it much, it isn't inaccurate.
 
 
3 hours later…
5:45 AM
hmm
 
What?
 
i can either save 2 bytes on many of my answers by making the input null-terminated instead of STX-terminated, or i can ignore
what to do e.e
 
Ignore what?
 
well, the byte savings
 
Why are they stx terminated anyway?
 
5:49 AM
i'd rather not push 20 of my answers to the recent list on main in what is basically a message of "oops i finally realized you can write null bytes if you try hard enough"
 
@sporeball do it gradually
2 a day
Or 3 even
 
i'll give you the honest answer: the inputs are STX-terminated because i can't use Alt+0000 to write null bytes in Notepad++, and i decided STX, which i can write, would be a nice one to choose
i really should have switched back to vim a long time ago now, that can do it easy
 
@sporeball brug
Use newline terminated input like normal people
Like pretty much every single esolang on cgcc
naz is written in js yes? So Multiline input can be given as a raw js string with "\n" escapes
 
it doesn't work that way
the r command pops the nth character from the input file. 1r1o on an input file containing \n will take it literally and output a backslash
yes i just edited that message four times and gave up on formatting the end of it
 
@sporeball okay then. Well, just read to EOF
 
6:03 AM
can't do that either :^)
if the call to input.charCodeAt(-1 + num) returns NaN then the interpreter throws input string not long enough
 
Read the entire file
Into a string
And index said string
@sporeball what, ending it with STX fixes this issue somehow?
 
naz's only datatype is the signed integer
ending it with STX means i can store 2 in a variable, then while looping over the input file, check if the register is equal to that variable after every byte i read
if it is, i immediately goto a different function, therefore avoiding reading a byte that isn't there and getting input string not long enough
 
6:19 AM
```
input_string = input_file.read()
input_string = map(ord, list(input_str))
```
That but in js
 
6:30 AM
this just creates a list of the character codes, yes?
so indexing the list out of its range will throw IndexError in Python and return undefined in JavaScript
 
@sporeball and that's why you manually check to see if the indexing value is inside the list
@sporeball yes, which is what you're doing but converts the entire file automatically
And more importantly, it reads the entire file until EOF
 
i think if i'm understanding you correctly i'm doing that anyway?
the input file is read until EOF using fs, the contents are stored as a string in a variable called input, and characters are popped from that
i thought that immediately throwing when you index out of range was the sensible thing to do, because naz sets the register equal to the character code at the index whenever you index correctly, and NaN isn't a character code, so you can't (shouldn't) do the same when you index incorrectly
NaN can't be coerced to a number by doing arithmetic on it, so unless you load another variable into the register your program can't do anything meaningful anymore
that feels wrong
 
7:05 AM
@sporeball Well, you could apply x | 0 to coerce NaN to a 0 and leave integers intact
 
huh, TIL
 
@Razetime Right now, probably in the Levels source code. Don't think I ever got round to writing it up
 
aw man
I guess I might try with Add++ then
 
7:50 AM
2
Q: Maximal saturated domino covering of a rectangle

BubblerInspired by this OEIS entry. Background A saturated domino covering is a placement of dominoes over an area such that the dominoes are completely inside the area, the dominoes entirely cover the given area, the dominoes may overlap, and removal of any domino reveals an uncovered cell (thus faili...

 
 
1 hour later…
9:19 AM
@Razetime Tbf the list of commands in Levels do all have basic descriptors of what they do (e.g.), but there aren't any full docs detailed how the language works and what commands are available
 
yep the list is fne but i have no idea how the IP or anythin works
I can tryy reading through Add++ docs however
that is, if i can figure out a proper algorithm in the first place
my best bet is probably using charcoal
 
@Razetime Man, I'm reading through the Add++ docs and realising just how bad I am at writing them
There's nothing at all on the best part of the language: functions
 
9:35 AM
@cairdcoinheringaahing why is the Tio HW for Add++ so convoluted?
 
@Lyxal Cause I haven't updated it in about 3 years
 
But why didn't Dennis use a shorter version?
^ default
 
in talk.tryitonline.net, Oct 26 '17 at 22:54, by caird coinheringaahing
@Dennis Would you mind changing the Add++ Hello, World! to this, after pulling it once more?
 
You should've seen it before then, it was a mess :P
 
9:38 AM
@cairdcoinheringaahing may I see it?
 
@Lyxal I can try and find it
 
Or Try it online! for the trailing newline
@cairdcoinheringaahing I'd appreciate that
 
What does the L do?
 
Anonymous function, which the -i flag tells the program to call implicitly
 
9:44 AM
Ah
Part of the whole "parts missing from the docs" thing
 
Yep, really not my best part of making languages :/
"I can understand them, so everyone should be able to"
 
@cairdcoinheringaahing I want to get itto work
Flattening the cube is difficult, but maybe I can find other question to try it on
 
@cairdcoinheringaahing too relatable
Way too relatable
 
your docs are pretty cool
@cairdcoinheringaahing soo where can i get a good understanding of functions
 
9:49 AM
@Razetime *we
 
sure why not
 
@cairdcoinheringaahing amazing. Absolutely beautiful
 
@Razetime I'd recommend either asking me, or checking out my answers on PPCG: codegolf.stackexchange.com/…
 
this is gonna take a while lol
 
@Lyxal Yep, glorious
 
9:50 AM
do you mind if we add pages to your wiki on Add++?
 
Yeah, is that okay with you?
 
@Razetime Feel free to do so. I'll be happy to edit/fix anything that's incorrect
Rn I just don't have the time to fully write up a doc
 
sure, sure
Just need wiki access
 
Same
 
I trust the two of you to not vandalise the repo, so I'll just make you collaborators
@Lyxal What's your github?
 
9:53 AM
Lyxal
 
@Lyxal It gets even better if you understand how it works: P outputted with a newline, and no command didn't, so & takes x, converts to a character and concatenates it to the "string". If the "string" wasn't empty when P is run, it outputted that rather than x
 
@cairdcoinheringaahing even better
 
Add++ was like the first proper language I made, so as I've got more and more experience with language design, it's had more and more additions to it. Reading the versions' source code is literally like watching me learn to code in real time :P
 
impressive
@cairdcoinheringaahing mine is @Razetime
 
@Razetime Yeah, I saw that when you started following me (why I didn't ask) :P
 
10:05 AM
lol
@cairdcoinheringaahing is there any guide for non verbose coding?
or is it just better to code in verbse ad convert
 
When using functions? Personally I never use verbose coding (and IIRC its super buggy because of that), so I just write it shorthand and use the commands dict ti get what commands I need
Could probably be golfed by now, but I'm happy to leave it as is :P
 
10:28 AM
cool, I'll make a table of operators and stuff
@cairdcoinheringaahing @Lyxal just made a room so we don't spam this place with our questions

 Add++

A place for the discussion of the Add++ programming language, ...
 
10:59 AM
Did we ever follow up on Best of 2019?
 
11:18 AM
@cairdcoinheringaahing oh, theres awards for stuff. nice.
We should be finishing it, already more than halfway through 2020
 
@Razetime the story of pretty much ever best of
 
welp didnt know that
but, y'know should finish it by like march or something
 
*every best of
Well, at least 2019
 
 
6 hours later…
5:48 PM
last call for feedback on sporeball numbers
 
6:10 PM
0
Q: Convert strings to BF!

SunnyMoonLet us be honest, you do know all about the BF language! If you do not, you may read the actual article. Task The task is a quite simple one! You have to write a program which takes in input, and the outputs a valid BF program that outputs the input string. (ANY valid brainfuck program satisfies)...

 
7:07 PM
I'm looking for an esoteric programming language I could write a compiler for. I'd want the language to be able to randomly access and mutate an array-like data structure in O(log n) or better, preferably without any significant trickery in the implementation. I'd guess that there are many people more knowledgeable in esoteric languages than me in here, so - any ideas on the top of your mind?
I've considered Shakespeare Programming Language, random access requires shuffling data between stacks. Mornington Crescent is only turing complete because of bignums and string munching. Chef allows you to access elements deep into its stacks, but the ROLL requires a large memcpy, and restoring the state is also not trivial, so one would probably end up simply copying entire stacks.
Seriously exposes Python's eval, which is not ideal. In general, the large "standard library" is not something I'm keen on here. I couldn't find anything that would let me mutate a list.
Befunge is actively hostile to compilation. Hexagony requires executing O(n) instructions to get to a specific place in memory.
Hmm, 05AB1E has ǝ
 
ngn
7:32 PM
@NieDzejkob "write a compiler" - why?
 
Yeah, I'd expect most esolangs to be interpreted, not compiled
 
7:56 PM
Also, in theory, can indexing be O(sqrt(n)) in Hexagony? (note: I do not want to try it in practice)
 
@thedefault. Hmm, you're probably right. That's still a lot, though
@ngn I just want to ;) You're expecting a solid justification on CGCC?
I think I'll go with Whitespace, BTW
 
ngn
@NieDzejkob no, just asking casually :) maybe you have good low-level optimization skills and you're looking for a language where that would matter.
my implementation of k is such a language - simple&fast (but interpreted), and i want to jit it but i don't have the skills.
 

« first day (3520 days earlier)      last day (1306 days later) »