« first day (255 days earlier)      last day (1681 days later) » 

00:00
So operator to add to list:
?: Ask for bit
@AdHocGarfHunter ...
True...
I guess I mean meaningful height?
Nothing controversial in your proposed list of ops. Don't see why not!
? Re: This still leaves us with a need to be able to reach into the stack without destroying the top.
? meaning Why?
During execution you can not do things like: "remove the first 0 on the stack, leaving all else intact."
@AdHocGarfHunter And why do you propose that necessary?
Aka more useful/necessary than in an arbitrary stack-based lang
It is a really useful in any stack based lang
Miniflak lacks this property and it makes programming in miniflak hell.
00:04
@AdHocGarfHunter Oh? I didn't realize it existed in others...
It exists in most. And I often try to add it to languages I make.
Don't see one in Wise
It's the roll and unroll operators
What langs do so I can read about?
@AdHocGarfHunter Oh, but I thought that was just general moving
I see what you mean, though!
klein, lost, wise and brain-flak all have it off the top of me ead.
00:05
If you it conditionally, in a loop it does what you say
miniflak has a weaker version of this property that you can reach into the stack as far as you would like. However the depth is compile time determined (i.e. cannot depend on the input)
Remove the first 0 on the stack, leaving all else intact: Something like {Push 0}?[?]{Delete}[!]
How would you do that with Wise's existing ops?
@AdHocGarfHunter Thanks! Well now I know what you mean!
So why didn't you just add ? & ! to the list you sent?
@AviFS ::^?[?]|![!]^
Very similar to what you were saying but it needs and extra !.
@AdHocGarfHunter Oh boy!! Thanks!
@AdHocGarfHunter Ah yes, I see!
I am not a fan of ? and ! for this version of the language since I don
00:13
@AdHocGarfHunter Would super love to know! How do use those args in TIO when input is required through args with murdering yourself!?!?!?!
't see them as doing a proper operation on binary numbers
Is there a shortcut or something?
@AviFS You write a better interpreter that can handle args in a shorter way.
I can't possibly imagine you'd have gone through adding all of those by hands
I did, it was not very hard.
00:15
@AdHocGarfHunter Haha, of course. But sometimes you're using other people's languages. Not going to point fingers...
@AdHocGarfHunter Argh alright. Would be great if there was a less tedious method to inp args in TIO IMO
@AdHocGarfHunter That makes a lot of sense... Hmm
Yeah it would be nice. But idk what it would look like
@AdHocGarfHunter Am thinking!
I am remembering that wise was quite enjoyable to program with.
It's been a long while since I programmed in anything other than 1) a normal programming language 2) a programming language designed to be intentionally annoying to use
Alright, am back. Was actually trying to see if ?! could be defined reasonably neatly on binaries. When even, ? is simply n/2. But odds are just beyond terrible
@AdHocGarfHunter Haha, well I'm afraid we're making another one!
Odds: div 2 and add the smallest power of 2 larger than that number
! is awful on both odds and evens
00:26
Though TBH, this isn't designed explicitly to frustrate people like, say Malbolge, rather to be interesting. Though not actively trying to make it easy either
Yeah, I would put this in the wise category of "cooperative for an esolang"
lost and revisit (one of the aformentioned unreleased languages) are what I have been doing a lot in recently and they are very cruel even for esolangs.
Muck is an inherently annoying lang family, but I'm actively working to make it enjoyable and interesting, since most BFs are just pointless. And I actually enjoy it a lot shockingly! This is coming from someone who never understood the BF craze, and never found it fun
BF is ok, nothing real special it's just old and has a lot of rep
@AdHocGarfHunter But I'm saying I genuinely enjoy Muck!
@AdHocGarfHunter :D
@AdHocGarfHunter Very cruel! Argh...
Yeah, I haven't programmed in it. I'm just speaking to bf which I have programmed in a bit.
00:30
@AdHocGarfHunter Lost is actively evil :P
@AdHocGarfHunter Interesting, thanks for that. ! has nothing to do with evens/odds
TBH I'm disappointed that the general idea behind Lost never crossed my mind as a language base :/
It is one of those ideas where it seems very obvious once you've seen it. When I first came up with the idea I was sure someone else must have already done it.
It comes from the other side of the number. Don't even know that it's piecewise. How can a bin number ever start with anything but a 1?!
(WO being equiv to another, of course)
Well if the number is negative it starts with 0.
00:33
@AdHocGarfHunter Go away :p
Yeah ? and ! are even stupider on negative numbers.
@AdHocGarfHunter Uh oh... Don't even want to hear about it
Or actually I think ? is basically the same.
 
15 hours later…
15:12
I keep trying to create an arithmetic coding-based (note: I need advice on how to place hyphens in such cases, and I have no idea how to create proper search terms for this) golf programming language. How can I store information about where the decoding process should stop, with minimal overhead? (if we could store fractional bytes, then I'd simply store a single trailing zero bit, but we pretend bits don't exist, so this approach would require a trailing zero byte, which is probably too long)
I also had to golf the message above: it seems to be exactly on the chat message size limit.
@mypronounismonicareinstate FYI you can press Shift+Enter at the start of your message and it removes the limit
Or rather, it sets it to something ridiculously high
@mypronounismonicareinstate You could try to use a context-based approach?
Like it stops when what it's decoding no longer "makes sense" in the context of the language
(the specific thing I'm trying to do is to create another, possibly better, version of Sledgehammer so that I can blame myself for all the bugs and do not have to rely on somebody else to fix them)
I don't think it is possible to detect when it stops making sense in my case. I also considered allocating some, uh, probability to an end-of-code marker, but that would almost certainly increase the length of all code by even more than the single-trailing-byte approach.
Why can't you use EOF as the end of decoding?
Wouldn't you just encode the entire program?
15:32
I think I have a solution now: if a full token can't be decoded without reading extra bits, then stop, and since tokens can theoretically be encoded in less than a byte, add a small padding token to the language (between 4 and 5 magic bits would probably be a good size); thanks.
 
1 hour later…
16:35
@cairdcoinheringaahing Good to know! Thanks
@mypronounismonicareinstate Also, can always just send two messages ;) Cut the second half, return, paste second half, return
@mypronounismonicareinstate Perhaps because you golfed it, I'm afraid I'm having trouble making sense of your question, not to mention the whole exchange. I imagine it doesn't help that IDK what Sledgehammer is. Can't find it on the eso wiki...
17:18
Developments in Muck! First, I realized that there was no point in golfing an already hard to read language, when I'm just trying to demo it. So I thought I'd show you how easy-to-read Muck can be! It looks really ugly put together, but separate it's really neat! So, here goes:
Fizzbuzz: A<3<5<<21+[>>>+(Fizz<<+>>)<+(Buzz<+>)<(<.>)[-]<+#]
Where:
Fizz: 6[+]. 9[+]. 26[+]. 26[+].
Buzz: 2[+]. 21[+]. 26[+]. 26[.]
Because 'FIZZ' are the 6th, 9th, 26th & 26th letters of the alphabet! Same with 'BUZZ'; 'B' is the second letter as expected
There's a little boilerplate to add, so the real thing is:
Fizz: >+6[+].9[+].26[+].26[+].-[-]<
Buzz: >>+2[+].21[+].26[+]..-[-]<<
Anyway, if you substitute the last Fizz/Buzz into the original I just sent, you get the full code! It'll definitely become even cleaner as I make the language more sleek. Some of that code could be made less clunky once the language is slightly evolved. But that's the prototype.
I share it with you because the other news is I finished a rough interpreter, so you can see this code in action on [TIO](https://tio.run/##rVZtb9s2EP5s/YqbjUASJLuxi6RbJwlIsnRNt75sTfbmGYYqUTExidIoCnVQ9LdnR1KyKdsJWmBfDJv33PG5517o6k6sSvb0PuNlAUmZ5yQRtGQ10KIquYCU/NsQy0ryuK7hguT5c2sQ59Uq/kBEaMPZ@cUPly9@fHn16qefX795@@6XX99f3/z2@x9//mVbg5RksFxSRsVy6dQkz1x0HsgvkyJeQwizk9PugOHPF3Fek@4gJ0IQXoe9w4bRpExJeKyDU5bsxGXghTDV1pTsW8cba1GmyupDsUur0Iik4XwbgBPRcIZXCqeNdQSdj9vRqRrDIaY1gct1QiqpqGO/KQVcFVVOCsIESSErOVxfvbVb77IRW2f8gURUfEUDMQOagamMhJm4ripzTe9o9myBCJJ3bq12hluy4m0uR9PZt/KKisv80OoDYWlod9w4qYnYEXNTWcSM4
The '21' at the very beginning of the code just means to print the first 20 FizzBuzz numbers. You're welcome to try replacing that with anything and you'll get the first n-1.
Be sure to hide the header/footer in the TIO link, so you can play around with Muck in a cleaner environment
And let me know if you'd like a run down of the operators!
The parentheses are the main new ones though. They're like the inverse of [] and they just make a lot of Muck code cleaner:
[] : Run multiple times if cell doesn't equal 0
() : Run one time if cell does equal 0
Obviously the explanation for brackets is not very good. But I assume you know how they work from BF. The odd wording is to illustrate the differences from ()
The other one I added to simplify demos is '#' but it probably won't stay. It just prints a separator. You can set it in the code. For FizzBuzz I have sep = ', '
I won't cover 'A' because I don't want to make this too long to read. But basically, by default Muck is purely about numbers, and just prints the cell's value. A is what allows printing letters. It just loops through 26 letters of the alphabet, with space, ' ', being the 0 value. If you want the full ascii range like BF defaults, you set B. Each looping value must be set per cell though. So in this code, one cell is looping letters, one is looping booleans, one is looping 3 & one is looping 5
One last thing, if you don't mind a leading space, this can be done without using the cheaty `#` primitive in just two chars: [Click me](https://tio.run/##rVZtb9s2EP5s/YqbjUASJLuxi6RbJwlIsnRNt75sTfbmGYYqUTExidIoCnVQ9LdnR1KyKdsJWmBfDJv33PG5517o6k6sSvb0PuNlAUmZ5yQRtGQ10KIquYCU/NsQy0ryuK7hguT5c2sQ59Uq/kBEaMPZ@cUPly9@fHn16qefX795@@6XX99f3/z2@x9//mVbg5RksFxSRsVy6dQkz1x0HsgvkyJeQwizk9PugOHPF3Fek@4gJ0IQXoe9w4bRpExJeKyDU5bsxGXghTDV1pTsW8cba1GmyupDsUur0Iik4XwbgBPRcIZXCqeNdQSdj9vRqRrDIaY1gct1QiqpqGO/KQVcFVVOCsIESSErOVxfvbVb77IRW2f8gURUfEUDMQOagamMhJm4ripzTe9o9myBCJJ3bq12hluy4m0uR9PZt/KKisv80OoDYWlod9
[Golfed](https://tio.run/##rVZtb9s2EP5s/YqbjUASJLuxi6RbJwlIsnRNt75sTfbmGYYqUTExidIoCnVQ9LdnR1KyKdsJWmBfDJv33PG5517o6k6sSvb0PuNlAUmZ5yQRtGQ10KIquYCU/NsQy0ryuK7hguT5c2sQ59Uq/kBEaMPZ@cUPly9@fHn16qefX795@@6XX99f3/z2@x9//mVbg5RksFxSRsVy6dQkz1x0HsgvkyJeQwizk9PugOHPF3Fek@4gJ0IQXoe9w4bRpExJeKyDU5bsxGXghTDV1pTsW8cba1GmyupDsUur0Iik4XwbgBPRcIZXCqeNdQSdj9vRqRrDIaY1gct1QiqpqGO/KQVcFVVOCsIESSErOVxfvbVb77IRW2f8gURUfEUDMQOagamMhJm4ripzTe9o9myBCJJ3bq12hluy4m0uR9PZt/KKisv80OoDYWlod9w4qYnYEXNTWcSM4KKpRdkKVwsUK1ntlhwFz/IyFs6Qsmzoug9UWkZoj5Yo236Q2bM912vetJ5tlg94npwedrVG8LrkBEiW0YRieeAjFSuoSpQDQW37X8eVlO@RthaICN
Also, just had to share. I made a mistake in golfing it, and TIO printed this in my face:
1 2 FIZZ 4 BUTT FIZZ 7 8 FIZZ BUTT 11 FIZZ 13 14 FIZZBUTT 16 17 FIZZ 19 BUTT

« first day (255 days earlier)      last day (1681 days later) »