« first day (3788 days earlier)      last day (51 days later) » 

12:00 AM
We're still at it. My wife does most of the teaching (she stopped working at the nursery when the first lockdown started).
It is mostly fine. Discipline (sticking to the schedule) is hard, though.
Luckily, they are not so old yet; 7 and 9.
I have 2499 rep on MM, one away from being able to suggest tag synonyms :P
I see, that makes a lot of sense then! Yeah, schedules are the hardest part
@cairdcoinheringaahing Lemme go find a post to upvote!
Speaking of corruption...
Please don't, I don't want rep on MM :P
Wait, what is it? I figured it was the math stackexchange, but the acronym doesn't pan out
The network wide meta site
I do find it weird that MM has reputation. I'd expect it to be a normal meta site, where everyone's "reputation" is their total network rep
12:04 AM
@cairdcoinheringaahing Done :p
I do :P
That's a long standing bug tbh, lots of users have reported getting 200+ rep without bounties/accepts (the only way to get above 200 in a day)
I have an idea for a challenge, but I'm not sure what to ask for when "it doesn't work"
Should I have them do it anyway, or just print whatever they want
Introducing my newest (golfing?) language: Risky! Interpreter / Docs
@AviFS What do you mean?
Or add another condition and have them print where it fails
I'll send it in a sec, but first appreciating Risky!
12:08 AM
@RedwolfPrograms yay I finally got to my computer in time for something happening
Here's a champagne, to you!
@RedwolfPrograms That's a tacit language btw
Thought so, but I don't know too much about the differences :p
I love the interpreter's aesthetics
You can basically assume that ? is Jelly's ³ and work on a construction by reworking program order to show they're the same execution model
> Risky has a 4-bit code page, consisting of 16 operators
12:09 AM
Kinda not the feedback you're hoping to hear, but there it is
@AviFS Thanks, I spent hours making tiny changes :p
It looks really good! I might ask to steal it for mine
Go ahead, everything's MIT licensed.
I don't remember if that requires attribution or not but I don't particularly care :p
@Wezl perfect, it's also the day the browser doesn't want to render anything (other than the TTNB after prodding)
@RedwolfPrograms it requires attribution
Looks like it depends entirely on overloading. Does it have any "syntax" dynamics to affect parsing?
12:11 AM
basically public domain + attribution
It overloads those 16 operators to do over 100 things
Arity + type overloading is a very powerful combo
Some short example programs would be really helpful for us lazy folk!
> Take the Risky program */2*1--. This is 7 operators long, so * is parsed as a dyad. This splits the program into two arguments to multiply: */2, and 1--. Both are still odd, so */2 becomes / with * and 2 as arguments, and 11- becomes 1 with 1 and - as arguments.
> and 11- becomes 1 with 1 and - as arguments
@AviFS I'll add some soon but I'll have to find some interesting programs to write first :p
12:13 AM
I think somethings off here ^^
It's kind of like a tree based execution parsing model
Nope, that's just how the parsing works
But instead of assigning arity to the nodes in order to break it up that way, you use the entire length of the program and subprogram to affect it
@RedwolfPrograms but where is the "11-"?
Oh...I made a typo lol
Reload and it should be fixed
Reload again and it should be more fixed
I'm going to answer HW at some point, but since there's no string literals it'll be kind of painful
Especially given that it's probably not going to be a nice symmetrical tree either
Got to go for now though o/
12:18 AM
@RedwolfPrograms No, not interesting! Totally trivial programs, like summing a series of numbers
@RedwolfPrograms Interesting grammar, how'd you come up with it?
Just to have some things to play with without understanding everything first!
A: "Hello, World!"

astroide<>^v, 16 bytes "Hello, World!"; Pushes the string "Hello, World!" to the stack and prints it.

Anyone here with <2k CGCC rep willing to help me with testing something?
Sure, what is it?
12:21 AM
You have 7k too much rep :P
I have a sock
I should get a sock with a password I can remember :P
I use my library card number
Can you suggest an edit to this tag wiki?
:O your socks have passwords! :P
@cairdcoinheringaahing looks like yes
12:23 AM
Oops I used the wrong account
Well, enjoy your free +2 rep then :P
Can you reject that?
ಠ_ಠ I just approved it
@RedwolfPrograms I'm screwing this up badly!
Shouldn't !4 take the factorial of 4
And ?+? take the sum of two inputs?
In an array
12:29 AM
It does
@RedwolfPrograms May I ask why there's no nilad for 9?
@cairdcoinheringaahing Oh I was missing the brackets!
@RedwolfPrograms If you feed input array like 4, 5 without [] it doesn't error, it just does nothing
@cairdcoinheringaahing But !4 gives unknown operator
As does just plain 4
Apparently it's tokenized, but yeah, it is kinda sus
aw i missed the language release
was busy getting microchipped
12:35 AM
I just wrote the tag wiki for the tag, meaning that I have now edited 50% of all meta tag wikis :D
nice :D
@cairdcoinheringaahing That's meta-meta.
Well, I've also written the tag wiki for the tag :P
So meta-meta-meta :P
@RedwolfPrograms When you're back, curious why !4 & 4 don't work
12:40 AM
Um, does anyone else here have Tampermonkey?
yes on both chrome and FF
Is it duplicating scripts for you?
I currently have all of my scripts on twice
no it's working fine for me rn
Weird. For some reason, it's just duplicated all of my scripts so I have 2 of each :/
Lately, I've been wondering about this, and want to make a challenge out of it. I started mentioning earlier
12:42 AM
huh. wack :/
@AviFS is this about risky?
Also, lmk if you know if there's any underlying math you have refs to, or know
@hyper-neutrino Different!
It's something to try given a sequence of numbers
also this language looks really weird but really cool. i will definitely use it just because it's novel but i feel like it will not be as golfy, but i've gotten bored of bashing trivial challenges with jelly :p
So given a sequence, you start at the first index and put a 1
@AviFS ah. i see
After that, you move backwards n steps and put the next number there, if you can, otherwise you move forward n steps and put it there if you can, otherwise you fail
For example given the sequence: 1,2,3,4,5...
0 0 0 0 0 0 0
1 0 0 0 0 0 0
1 0 2 0 0 0 0
1 0 2 0 0 3 0
1 4 2 0 0 3 0
1 4 2 0 0 3 5
It's like the Recamán sequence in the OEIS
12:46 AM
oh that's cool
The numbers you put down have nothing to do with n by the way, I'm just counting
That sounds horrible to implement in Jelly, so it's probably cool :p
So 2,2,2,2,2 gives:
1 0 2 0 3 0 4 0 5
1,1,1,1 gives:
1 2 3 4 5
@hyper-neutrino We seem to have a good draft for this, how do we go about making it ?
Obv the last two go forever, and they never go backwards, so it's not very interesting
But the first one goes fine until it reaches like 24 and it gets stuck
1,2,1,2,1,2 seems to go forever and produces:
1, 2, 4, 3, 5, 6, 8, 7, 9, 10, 12, 11, 13, 14, 16, 15
So there's a few ways to make this into a challenge, I wonder which is most interesting
One is to print out the resulting sequence, only if it works (that is it never gets stuck and has to overwrite itself). Otherwise error
Another is to just have it keep moving forward if it's stuck, so that you don't have to worry about erroring
12:50 AM
@cairdcoinheringaahing I think I still need to make the language a bit more concise since a) it might be too tall of a modal and b) too much and a user might just skip it
Or another would be just to print how long until it gets stuck, and 0 if it never does
otherwise once we have consensus on the wording i'll just mark it for review and delete the discussion prompts and it should get CM attention shortly
Because most fail, and I don't know how to predict when
Since this sequence doesn't necessarily have a predictable order I'm wondering how one would go about implementing this
because if your input numbers are really large how do you know if the second slot will eventually get a value there, or if it stays blank forever (like with 2,2,2,...)?
def f(seq, num):
    arr = [0]*1000
    arr[0] = 1

    index = 0
    for count, n in zip(range(2,num), seq):
        back = index-n
        forw = index+n
        if back >= 0 and arr[back]==0:
        elif arr[forw]==0:
            print(f"Stuck at {n}: {index}.")
    return arr
12:52 AM
it's solvable, for sure. definitely a very interesting challenge idea
this should be solvable
@hyper-neutrino Oh, I see, no I wouldn't ask that
Although that'd be a totally different and very interesting problem
Thanks for the idea!
looking forward to seeing this idea though!
Figuring out if it's densely packed. Though I don't think we have the math for that
I just meant, you ask it to print a given sequence after n terms
So (1,2) after (10) terms would be:
1, 2, 4, 3, 5, 6, 8, 7, 9, 0, 0, 0, 0, 0...
(2) after (5) terms would be:
1, 0, 2, 0, 3, 0, 4, 0, 0, 0, 0...
oh, i see
Anyway, lots of ways to turn this into a problem
But very indecisive
Might do multiple
12:55 AM
so maybe do N steps given a list of jump sizes and print the sequence up to the last filled value? that would definitely work
Yeah, that's one challenge for sure
Though if I do that, then I'm not sure what to ask for if it gets stuck:
you could ensure the input won't get stuck at any point (before N)
Error? Print how far it got? Just keep going?
Oh, that too
I don't know what's more interesting
@user hello.bsf on the linked repository seems to contain the exact same code as 25 bytes of plaintext, and the documentation doesn't seem to make any mention of any special encoding (or contain the word "token") so :/
Sandbox posts last active a week ago: Task
1:01 AM
@UnrelatedString Yeah, I couldn't find anything in the docs either
@AviFS Any thoughts?
1:21 AM
@AviFS I think asking the version where you only have to run the program x steps and guarantee that it works is somewhat lame, and the solutions in almost every language should implement the same algorithm
1:36 AM
@AviFS 4 is {
@user No room, other numbers were more important than 9 :p
For the 4 thing, there's only 16 operators, so naming 9 of them after their nilads wouldn't be particularly useful
@RedwolfPrograms risky looks pretty cool, I just checked it out
Like ! is also 3, so !! is 6
is this turing-complete?
It probably is, not sure
whats the standard way to check if a language is turing complete? convert brainfuck into it with some algorithm?
1:40 AM
I'm pretty sure with a while loop and an array for state, you could almost certainly make an interpreter for a TC language.
Actually I don't think a BF interpreter would be that hard
I mean, there is a compare command no?
it would probably be fine
If it has arrays then it can (theoretically) store infinite amounts of data, and if it has conventional while loops, then it has branching, making it TC
well, couldn't you make a language with arrays, but the way in which they are accessed makes the language incomplete?
Generally, you can check that something is TC by seeing if it can store and retrieve arbitrary data, and if it can branch and loop based on some conditional
Risky's while loops are far from conventional, but I think you can reasonably approximate a conventional while loop enough to make it TC
1:47 AM
@Underslash you could, but you'd have to do that on purpose, I doubt you could stumble your way into that
You'd be surprised
Risky would most likely not be TC if while loops didn't return information the way they do
and if the truthiness worked slightly different
What could you possibly do to disable array accessing on accident?
thats why I had that idea
well it wouldn't be just disabling array accessing
1:48 AM
@cairdcoinheringaahing Not array accessing, but getting the array out of the loop
more like, heres some conditions to access an array in a specific place
There's no variables or anything in risky, no stack, so you have to get it to return from the while loop, so if what was returned was the last iteration and arrays were truthy based on something like length, it'd be impossible to use the while loop's result for anything
It's not something you'd be likely to do, but those are both fairly reasonable design decisions if you don't think about the big picture
@RedwolfPrograms how do you output in risky?
It's implicit output. The return value of the "top of the tree" is the output.
Like ?+? is the result of the +
and -? is the result of the -
so if its an array, and I use "output as string" then it will output the array as characters?
1:50 AM
No, just a string. [97, 98, 99] becomes "abc"
(if I'm remembering ASCII correctly)
right, thats what I meant
If you input a string it'll default to outputting as a string, but it'll remove the JSON-like string formatting (surrounding quotes, \", \n, etc.) if you set it to output as string directly
Considering making a tips question for risky, there's lots of obscure little tricks you can to use to do certain things
I think I'll wait to see if it gets used a lot though
Im going to try to make hello world
I feel like this is going to be painful
I just started on one too :p
not sure if this is the shortest, but this is what I got for "o": `:+*+1+0`
1:59 AM
Probably is the shortest, yeah
I'm trying a different approach, involving base conversion
id imagine yours will be considerable shorter, if the base converter is easily implementable
I need to generate the number 649531049616682092924319233 :p
you can only hope its not prime lol
It's divisible by 7, that's a start
Okay it's also divisible by a large power of two
thats good
at the very least theres built ins for the digits
I thank you for that
2:05 AM
It's divisible by both 7 and 2048
Actually it's a bigger power of two than that
Much, much bigger
how is an odd number divisible by a power of two
It's bigger than 2 ** 32 :o
Oh no
The input doesn't accept bigints
So that's not the real number D:
not great lol
is the input supposed to be able to accept bigints?
Time to go patch it really fast
will it break the thing im running rn?
2:09 AM
If you reload the page, be sure to copy the code though
Ill make sure to
You can use the try it online link if you click run, but that only generates if the code is currently runnable
I can just copy paste the stuff I have
also I have gotten all the codepoints to the characters, now I need to put them together
2:13 AM
Okay, making input work properly is going to be painful, so just add n to the end of any large numbers you input for now
I'll have to write a whole parser and everything for it
Okay, the big number is divisible by 11, but probably not much else
For putting the code points together, I'd recommend putting them in pairs with !, then adding three empty arrays (]) so you have 16, then use + to concat them in a tree
well, the problem in general is that each sub operation has to match in length
and also, I found out what your program is
This is sort of what I'd imagine it would look like
I just used random digits here
But if you replaced each of them with the letters in HW, and ensure they're the same length, it should work
ill do it both ways then
2:28 AM
We can see which is golfer :p
since the largest number requires 7 characters
im going to need 16 * 7 + 15 chars for that method
ill see if I can get below that with mine
I think a smarter implementation could probably save quite a bit, not sure though.
is that with the base conversion or the codepoint tree?
Code point tree
isn't HW supposed to have caps W?
2:36 AM
I think the official one here is w
Not sure
i do capital W
looks better imo
I'm wrong, W
I like w more >:|
i call cap on your lowercase w :P
how many characters is that?
2:37 AM
The tree one is 64 bytes, so 127 characters
ok so exactly how much i figured
ill try to beat that
yeah i think it's safe to call this not a golfing lang :p
at least not for strings
It doesn't even have a string type, it's not really meant for that sort of thing :p
the concept seems like it would be very golfable if it had an 8-bit codepage
yeah, support for 768 commands could be really good
2:38 AM
b/c then you have limitless overloads
768 * overloading of types
but of course that comes with the problem of actually creating all of those commands, which is not envious to say the least
I think a prefix encoding could be really golfy
im at "Hello," and 39 chars in
im partially optimistic lol
I'm considering an approach using the map pairs operator
On second though it'd probably still be a lot longer
A Risky program without monads will always have a length equal to 2 ** N - 1, so in order to golf it without monads we'd have to half its length
2:46 AM
does risky have quicks / adverbs / higher order functions / meta functions / modifiers / whatever you want to call them?
It sort of does, yeah
remember the question about filter versus reduce from like a week ago
They don't change the parsing though
oh that's cool
oh i see. so some things will evaluate their subtrees and operate on the results and some will treat their subtrees as subprograms and do dynamic stuff with them?
2:48 AM
I managed to fit both filter and reduce, I was originally going to have a dyad that returned the second argument unchanged, as padding (like _ as a monad), but I just overloaded + so that 0+x is always equal to x
i'm wondering what's the easiest way to go about trying to prove risky's completeness
A BF interpreter wouldn't be too hard
so is it that if you can interpret a tc lang, you must also be tc?
makes sense
2:58 AM
being able to transpile from a TC language into your language also guarantees TCness
risky has loops (in the form of while) and conditionals (in the form of filter) so it feels like it should be TC
I can see the BF interpreter roughly in my head but it'd be annoying to implement
Wow holy crap redwolf released a language for once
Smh making me lose money
3:38 AM
:+*+1+!!:+++0+0+:+0+0+0!{*++1+0 + ]+]+]+]+]+]+]+]+]+]+]+]+]+]+]+]
i am so sad that I wasn't able to get it down :(
3:53 AM
That one definitely looks cooler than the tree one though :D
also, something nifty is that "H" is: "2\22"
I wasn't able to include it on the second pass, but its just a cool letter to make
You should post that
can you post your answer as well? I want to include it
I uh...don't have a copy of the code :|
Just a second, I think I can remake it pretty quick
I'd copy it from the CGCC post section since there's some whitespace it'll remove
The HW feed should post it in something like an hour :p
4:29 AM
A: "Hello, World!"

UnderslashRisky, 64 bytes \22+\222]+]2:+1+:++!:++2:+*+1+0+[-*-*+02]+]2{*+++**+}+0!:+*+1+0+:+*+1+!!:+++0+0+:+0+0+0!{*++1+0+]+]+]+]+]+]+]+]+]+]+]+]+]+]+]+] Try it online! This is a new language made by @Redwolf Programs. My explanation wouldn't do it justice so heres the Docs. Explanation: Takes the various...

5:04 AM
hello everyone
wow new hello world post
@RedwolfPrograms is Risky your amazing new language?
Gave you the first star!
where is the github.io website?
@lyxal Hi!
oo nice
5:08 AM
@Ausername o/!
@Wasif do you have a discord account?
@Razetime no
there's r/programminglanguages
@Razetime oh nice
I will make a discord account
6:08 AM
@Wasif have you made it yet?
Not yet
I am little busy right now
Will make soon
I have made an account now
How can i join r/programminglanguages
That looks like a subreddit
6:25 AM
you need a reddit account for subreddits
has a 2/3d brainfuck been made before?
Probably. Try 4d.
yeah, but that makes it unintuitive to work in
(and I don't have a convenient command for >< in the w axis)
I want to make a 2D bf
Hey how about 2D deadfish+bf
how would 2d deadfish work?
6:29 AM
@Ausername well how 4D languages work?
@Underslash its already implemented
3d bf or 2d deadfish?
Let alone deadfish
Sorry for the stupid idea
im confused
2D is understandable but how 3D or 4D is supposed to work
when I meant 3D, i mean the stack
6:31 AM
I'm getting confused
so instead of a linear stack, you have a "cube" for the stack
And 4D and above?
i wasn't going to do 4d, just 3d
@Underslash I see. That could be quite interesting.
cause in 4d, theres not really a "command" that fits the arrow look
while in 3d, you have x and o going into and out of the page respectively
6:33 AM
I presume you'd have something like <>^v and two characters for forward and back.
yep, +-<>^vxo[],.
that should be all commands
You'd have to keep a small tape so you don't run out of memory, or you could just expand it as you go :p
I was planning on using a hashmap for lazy eval
Expanding as you go would allow for backwards compatibility to 1d and 2d.
in 3d, it would still be backwards compatible with 1d and 2d
because if we take it down to 1d for example, we dont need an array, its just convenient to store it like that since its a small amount of data
but since increasing dimensions scales by a factor of the tape, that wouldn't work for 2d, let alone 3d
also, there comes the question of implementation, should I do wrapped or unwrapped cells?
6:52 AM
CMC: Without executing it using TIO, what does the following Java output?
int i = 0;
int x = 0;
for(i = 0; i <4; i++);
  if(x == 3)
are those the right quotes?
syntax error: “” is weird quotation marks
Wrong quotes
oh lol
Should be double quotes
6:57 AM
well in that case it wont print anything

« first day (3788 days earlier)      last day (51 days later) »