In accordance with our meta agreement, since one candidate received more votes than the others, we have a new featured language! Throughout February 2022, our Language of the Month will be:
What's a Language of the Month?
See the meta post for nominations. In short, during February, those who wish to participate should learn (at least the basics of) tinylisp, and use it to solve challenges. Participation is completely optional, but is anticipated to be fun!
Information about tinylisp
I (DLosc) invented tinylisp, a minimalist Lisp dialect, for an interpreter golf challenge. Because Lisp is powerful, tinylisp's small set of builtins can be combined to solve a wide variety of tasks. It also has a half-decent standard library, implemented using those builtins, that provides many more functions for arithmetic, list manipulation, and functional programming.
- The core builtins are one character each, contributing to golfiness.
- The standard library costs bytes to load, but provides many higher-level functions. Sometimes using the library is shorter; sometimes avoiding it is shorter.
- Being a Lisp dialect, tinylisp is pretty good at functional programming and list manipulation.
- The only documentation is the GitHub readme, which gives a decent introduction to the syntax and builtins but doesn't cover the library at all.
- There is no way to take input, and only limited ways of producing output. Most tinylisp solutions are therefore function solutions.
- String operations are supported, but not very thoroughly. All numbers are integers--no rationals or floating point.
- If you don't already speak Lisp, tinylisp might be hard to understand. On the other hand, Lisp is cool, and tinylisp could serve as a good introduction!
- Github repo
- Tips question
- Ungolfing script (put your golfed code in the Input box)
- Syntax highlighter
(Adapted from caird's bounty scheme for Add++ last month)
I'll be offering a +50 rep bounty to any user's second tinylisp answer. The first answer can be posted during or before this month, but the second must be posted during February 2022. In addition, I'm offering +200 to any user's tenth tinylisp answer posted during tinylisp's time as LotM.
Additionally, as the "relevant challenges" portion of LotM doesn't get enough attention, I'm offering a +500 bounty to any user who posts a tinylisp-themed challenge that goes on to score 10 or more.
Finally, if somebody posts a shorter answer to the original Tiny Lisp, tiny interpreter challenge, I will give a +500 bounty to the new shortest solution at the end of the month. The current leader is Ell's Python 2 answer at 640 bytes.