- cross-posted to:
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.ml
WDYM “the 1st time”?
Where does that notation work?
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+2becomes(+ 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 fun part comes from using it without syntax highlighting, so you can regularly play „find the missing paranthesis“.
My lisp days were back in my “IDEs are bloat” phase so that’s the only way I ever interacted with it lmao
Editing lisp with ed is the best way to learn it.
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.
Removed by mod
What does it have to do with lisp?
Removed by mod
In c style languages, Java, c++, rust, etc.
surely you mean Algol style languages?
I did, but I couldn’t remember it. so thanks!
deleted by creator
Does that make Lisp a language with significant white space?
yeah, the same way you can’t
structuser {...}There has to be something to split the identifiers
What about the M-expression version (f[x])?
AFAIK, the only language that ever implemented M-expressions was Logo.






