←back to thread

83 points boris_m | 1 comments | | HN request time: 0.257s | source
Show context
James_K ◴[] No.42071416[source]
I'm really annoyed when lisp languages use infix operators. Is it really so hard to write (= (f a) b) over (f a = b)? In fact, can you even call it lisp if the first element of the list isn't the operation of that list? Perhaps if they had a special bracket type for definitions I would be more amenable to it, but the idea that a symbol half way through a list completely changes its meaning simply doesn't sit right with me. Isn't this just a term rewriting system with an extra pair of parentheses?

Also, why is this needed over the second line?

  (map a (:lambda fun) = fun a)
  (map a fun = fun a)
replies(1): >>42075308 #
1. broken-kebab ◴[] No.42075308[source]
Looking at BNF, "=" is not an infix operator here, it's syntactical separator between part describing a function input, and resulting expression. Though I agree it looks a bit foreign anyway