Hey HN! Fun to see this project from my college years on HN again. To clear my name, I have actually written other languages that are arguably more useful, like Oak [0] which I used to build a bunch of personal software infrastructure [1] including my current daily-driver apps for notes, longform writing, a Twitter client, a personal search engine, and a few other knickknacks.
I find building little toy interpreters and programming languages fantastically fulfilling, creatively energizing, and a really fun way to learn how such a common element of our work that's often a black box functions inside. I've written before about how to get started [2] with these kinds of little toy programming language projects if you're curious to dive in.
You know the documentation is good when I can hand it to ChatGPT and it spits out a fully functional program for me after two small tweaks (I had to tell it to add RUMOR HAS IT and to not chain operations).
Write a program in Tabloid that takes 5 numbers and returns the product of the first three numbers plus the product of the last two.
Run it with the numbers 4,5,7,8,9.
----> ChatGPT response:
DISCOVER HOW TO product_with_five_numbers WITH a, b, c, d, e
RUMOR HAS IT
EXPERTS CLAIM ab_product TO BE a TIMES b
EXPERTS CLAIM first_product TO BE ab_product TIMES c
EXPERTS CLAIM de_product TO BE d TIMES e
EXPERTS CLAIM result TO BE first_product PLUS de_product
SHOCKING DEVELOPMENT result
END OF STORY
EXPERTS CLAIM input_a TO BE 4
EXPERTS CLAIM input_b TO BE 5
EXPERTS CLAIM input_c TO BE 7
EXPERTS CLAIM input_d TO BE 8
EXPERTS CLAIM input_e TO BE 9
EXPERTS CLAIM final_result TO BE product_with_five_numbers OF input_a, input_b, input_c, input_d, input_e
YOU WON'T WANT TO MISS 'The result is'
YOU WON'T WANT TO MISS final_result
PLEASE LIKE AND SUBSCRIBE
Yes, as a lone developer. If you're working in a team it's less likely to work out well as you will have a much more significant training period for anyone to join one of your projects (in a team environment it's wise to go with "boring").
It's clear that the "author" is a +10x engineer.
It's rare to come across someone with such a broad range of interests and abilities, and their contributions to open-source software are truly remarkable.
Correct. This is also, incidentally, why startups innovate faster than established companies - people in the corporate world waste so much time on typing things like "To whom it may concern", or "Looking forward to hearing from you", or, you know, on written communication in general.
The "EXPERTS CLAIM limit TO BE 10" is the epitome of our times. People who agree can hide behind authority and people who disagree don't need any knowledge to do so, the fact that something was claimed by an expert is reason enough.
On a related note: I Just a new app called Boring Report on r/SideProject that strips clickbait content from articles so you can read the info without the sensationalism
I had a similar, never realized concept of a language named "Spouse"(no gender implied), with keywords such as "You promised we would ... on ..."(declarations), "you always ..."(loops) and "Fine."(marking the end of the program). I couldn't get the grammar to be both consistent and sound like the real deal though.
Funny little language. I used it in an exercise for the a workshop I gave at MCH2022 called 'Workshop: A practical approach to parsing' [1]. My solution can be found at GitHub [2] and can be used with IParseStudio [3] to execute programs written in Tabloid using the build-in interpreter.
WHAT IF TOTALLY RIGHT IS ACTUALLY COMPLETELY WRONG
YOU WON'T WANT TO MISS 'Alt-facts in logic are here'
LIES!
YOU WON'T WANT TO MISS 'Fake news are not discovered yet'
PLEASE LIKE AND SUBSCRIBE
It prints that "FAKE NEWS ARE NOT DISCOVERED YET!", disappointingly enough.
Gotta love goofy stunts that take effort to make! A spiritually similar programming language that also screams a lot is ArnoldC: https://lhartikk.github.io/ArnoldC/
Maybe they're just really good at optimizing their time management. Or maybe they're secretly superheroes with the power of super-productivity. You never know
I find building little toy interpreters and programming languages fantastically fulfilling, creatively energizing, and a really fun way to learn how such a common element of our work that's often a black box functions inside. I've written before about how to get started [2] with these kinds of little toy programming language projects if you're curious to dive in.
[0] https://oaklang.org/
[1] https://github.com/topics/oaklang
[2] https://thesephist.com/posts/pl/