I wrote FizzBuzz for Muck and I'm super impressed with how elegant it is:
5<3<<100[>>>+<+(Fizz<<+>>)<+(Buzz<+>)<(<.>)[-]<]
The only pseudo-code in there is 'Fizz' & 'Buzz'
Those are the parts that should actually be printing Fizz/Buzz. That program will print FizzBuzz up to 100 and stop, that 100 is arbitrary. It could be up to any number or any given input
But I hard-coded 100 into that example as you can see.
I still have to think about how to implement where it counts up to the user's input. You can hardcode any number instead of the 100 and it'll count up to that. But I need to implement another command for input, because , won't do here. Don't quote me on this, but I think I'll let ; be the cycling input. Which means you can just replace my 100 with ; to count up to users' input.
@AdHocGarfHunter Oh? Super neat! I'd still appreciate a little more explanation on how the lang works...
Refresher: The user writes the program by writing a tree where each node carries an instruction. The program takes input in the form of fractions, and then the program executes the nodes the pointer runs into in sequnce from the node until the inputted fraction...
@AdHocGarfHunter Alright, so we're talking about the very original, which creates a new bit string every time it descends the tree. And you iterate that process until the new bit string it creates is... empty!
For example TC + 1 is just Turing machines that also can solve TC's halting problem, and TC + 2 is just TC + 1 that can also solve TC + 1's halting problem.
Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science. The word automata (the plural of automaton) comes from the Greek word αὐτόματα, which means "self-making".
The figure at right illustrates a finite-state machine, which belongs to a well-known type of automaton. This automaton consists of states (represented in the figure by circles) and transitions (represented by arrows). As the automaton sees a symbol of input, it makes a transition (or jump) to another stat...
@AdHocGarfHunter Sort of fell down a rabbit hole from it saying you love Brain-Flak → Brain-Flak = BF + Flack Overstow → Flak Overstow
Had to share an esolang-related piece of Flak I got, though:
Else, if not you! It's true you can do this: Suppose a cluttered and base-10 centered person displays the compiler/interpreter required, and all other associated baggage whenever you want to try a different language. I highly recommend playing around with them online first to get acquainted though, and then committing if you like it.
@AdHocGarfHunter Btw, forgot to let you know. Looked at them and it's super funny because my order of interest in the languages is exactly backwards! These days, I'm just not into 2D langs. And the one I'm most interested in actually playing with/using, even though its not practical, is Wise!
After that, I'm quite interested in Unbalanced conceptually. It strikes me as a super neat and intriguing idea. But it's not one I'd actually play around coding in myself. Though I'd be curious to see an analysis of its properties!
@AdHocGarfHunter I've looked into a fair few esolangs, and for me it's a novel idea
That one should manipulate a stack of bits, given only the standard bitwise operators, and then at the end output the number formed in binary by all the bits put together is super intriguing to me.
The fact that they were bitwise operators, it outputs the result in decimal by default, and these flags:
Options: -h, --help show this help message and exit -b, --binary Formats output as binary -a, --ascii Formats output as ASCII
Made me assume otherwise...
Oh wait, bitwise and & bitwise or. That's my bad...
Still my favorite language, for a whole 'nother reason then!
But I think it's worth making what I thought it was!
It's just a stack of bits, which you manipulate with bit operators, and at the end it concatenates the whole stack and prints the corresponding binary number!
I don't know that it could do much, but you'd have to manipulate the stack in a manner you've never had to before. A completely different way to think about it...
Eg. because the whole stack is encoded together, rather than just the top value
Ok here are some operators I propose ~ - global flip & - and | - or ^ - xor - - not [ ] - while $ - swap : - duplicate x - remove bit This still leaves us with a need to be able to reach into the stack without destroying the top.
The whole thing would be binary-ized and plopped on top? That wouldn't work because it could be it bin rep would be of unknown length and the stuff below thus hidden
And why is that such an elegant and impossibly, painfully obvious solution...
@AdHocGarfHunter Screw your other idea! In my mind that's by far the superior idea. Not just for flexibility but because it flows much better with the logic. Sort of awkward to start with a stack of unknown height IMO