From Esolang
Jump to navigation Jump to search

Hey, I'm User:JonoCode9374 (Lyxal) ヽ(´• ᗜ •`)ノ, the creator of:

I have what those cool kids call a "code golf" account here. If y'all can't tell, I'm being a tiny bit ɔᴉʇsɐɔɹɐs [•Ꮂ•]

Languages I've Inspired (feel free to add anything I've missed)

Languages I'm working on

Languages I like

About the Languages I've Made


Ah, 'MineFriff'. The poor thing doesn't get much love, so I better give it some here. MineFriff was the first Esolang that I made, and was my first attempt at making an interpreter that wasn't for mainstream usage. It's inspiration was fungoid languages (mainly ><>) as well as a simple desire to have a language usable in Minecraft... Problem was that command blocks aren't exactly easy to program with. So I used a mod that allowed me to use Python.

This was the start of my work with stack based mechanisms (such as pushing, popping, duplicating, etc) - back then, it took me a while to understand stacks, and most of the code was borrowed from ><> (fun fact: that's why the only two data types in Keg are characters and integers).

This was all back before I had discovered code golf, so MineFriff was hopelessly long and bulky (I mean, Minecraft blocks aren't exactly expressive in the way of condensibility), hence the reason for the unique way of pushing values to the stack.

The name "MineFriff" is a combination of Minecraft and brainf (but in a more appropriate way - no swearing) - friff was the best thing I could come up with! Needless to say, that ideology was thrown out the window with Curlyfrick.

That's enough storytelling for now. Keg's backstory will be next.


Let’s start off real simple. Keg is made by me, Jono2906, although on github and esolangs, I'm called JonoCode9374.

Anyhow, Keg was the second esolang I've ever made, with my first being a Minecraft based fungoid language. It's also the first golfing language I've ever made.

Back in 2018 when I was still new to esolangs, I was reading and learning about the ><> language. I absolutely loved the 2d layout as well as the simple stack manipulation abilities it contained. It was ><> that introduced me to stacks. And it was ><> that would influence the creation of Keg.

Starting from scratch, I didn't really know what to include in a golfing language. But I did know that I wanted to make the instruction set completely ascii, as I (at the time) found Unicode languages just too hard to understand (boy, how that's gone out the window!).

Touching on that point a bit more, I've had a kind of mindset of "if you don't understand it, make your own". Now, I know that people would say that such a perspective of life is ineffective, as one can't just create complex systems if they don't understand it. And I agree, generally I don't follow this way of thinking. But when it comes to something manageable like golfing language design, I believe it's fair game.

Also, I feel like I should mention I created Keg as a sort of protest against the big and established languages that seemed to always win... I kinda solved the issue of golfing langs sucking all the fun out of CGCC for myself.

Working my way through the process of language creation, I eventually finished the original interpreter, and, on the 5th of November, I created the github repo for Keg.

After doing so, I wrote a few answers here on CGCC and, after a few weeks of inactivity, I decided I'd move on from Keg.

Then, around 5 months later, I decided I would browse through to see what languages there were. Looking through the recent edits, I saw something that would drive the second phase of Keg development: Teg.

At first, I was kind of offended, as it seemed like a personal attack on the little language I had created. Wanting to prove whoever had created this page wrong that they had created something better than Keg, I started plotting out a brick ton of operators to add.

But then I learned that A__ (I'm on mobile, using an external markdown editor, whaddya expect?) was actually friendly and that they were just mucking around (I think), I was a bit more relaxed about Keg development. (I now view Teg as a kind of compliment ;p)

Needless to say, after ~2 months of extensive planning, ~30 pieces of paper with sketches of what aspects might look like, I finally started developing Keg's first major expansion.

Now, this expansion contained features such as strings, integer scanning, new register commands and variables. But the interpreter I had wasn't suited for such new things. So I had to rewrite everything. It was at this point I made Keg transpiled... one of the best decisions I've made in regards to Keg.

Later on, it came time to deal with finer aspects of the expansion. Such an example of this was string compression. Now, here's the thing... this was at a time when I thought all characters were a single byte each. Ha, what a silly idea. I was thinking of having a 400k word dictionary making good usage of the ~100k unicode characters. But then I learned about byte counts. So that's why there's only 60k words in the dictionary.

Why am I telling you all this? Well, I figured I would explain a little bit of the behind the scenes information about Keg. It may be fragmented, but it's the best I can do at the moment.



feel the pain of my laser!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!