Hacker News new | ask | show | jobs
by kevincox 1780 days ago
Can you give some examples? IIUC there are builtins (macros/functions that couldn't be expressed in the language) but no keywords. There are lots of syntax elements that could be keywords like ' (quoting) but I am not aware of any true keywords.
1 comments

All special forms (if, let, progv, etc...) are very similar to keywords in other languages. But there's only a couple dozen of them.

From Wikipedia: "Some Lisp control structures are special operators, equivalent to other languages' syntactic keywords."

Personally I don't think that really counts. IIUC you can override those names, so they aren't reserved, and you can implement any one of these as a macro so you don't need to remember anything outside of the core language.

(You can't implement them all as macros, but IIRC there are disjoint built-in sets that can give you the full behaviour)

Sure. I think the point he was trying to make is that some languages are more complex than others. And in that context, the fact that Lisp has the flexibility to override just about anything actually makes the language more complex. Because now you can't make any assumptions about anything. In some ways Lisp is the most complex language in existence because it encompasses an infinite number of sub languages (ergo Racket's tagline "The programmable programming language"). In other ways it's the most simple language ever.