this post was submitted on 10 Sep 2025
281 points (98.0% liked)
Programmer Humor
26265 readers
719 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Lisp uses it, with the fun extra part that operators are just normal functions - so instead of
foo(bar)
you get(foo bar)
, or for operators1+1+2
becomes(+ 1 1 2)
. It’s a really fun language even just for being different than most, I def recommend playing around with it if you’re looking for something new.The most interesting part about Lisp is homoiconicity:
(+ 1 1 2) is literally a list with symbol "+" and 3 numbers.
Which allows to build the most powerful macro possible, manipulating code (with data as a tree-like structures) and changing it into whatever else at compile time.
Now if only there was any good use for macros, this would be the best language 🙃
Threading is a great case for a macro.
(-> x (* 2) (/ 3) (- 1))
Is the same as
(- (/ (* x 2) 3) 1)
Sure it's not like it has no uses, but it's something languages have built-in as syntax sugar or operators, and you rarely need to built your own macro for anything.
What does it have to do with lisp?