top | item 41861002

(no title)

vnorilo | 1 year ago

In my mind Clojure is Lispy, Python is not, nor is Javascript.

In addition to REPL and macros, I think two other Lispy features are essential:

nil is not just the sad path poison value that makes everything explode: lisp is written so that optionals compose well.

Speaking of composing, Lisps tend to be amazing with regard to composability. This is another line that cuts between CL, Scheme and Clojure on one side, with Python and Javascript firmly on the other side in my experience.

Lisps are as dynamic a languages ever go, unapologetically.

discuss

order

iLemming|1 year ago

I just wanted to add that "dynamic" doesn't mean untyped or weakly typed. Clojure is a strongly-typed dynamicly-typed PL. Clojurescript compiler for example, in many cases can produce safer JS code than even Typescript ever could.

tombert|1 year ago

Out of curiosity, can you give an example of where ClojureScript is safer than TypeScript? I'm pretty far removed from the frontend world so this sounds pretty interesting to me.

lanstin|1 year ago

Having read Let over Lambda, I would say I find Javascript to be (a superset of?) a lispy language. If functional values with lexical binding are supported, then you get all the power of The Little Lisper.

Perhaps the macro facilities are also convenient but that is not the part that makes Lisp mathematical, it's the higher order programming.

And it needn't even be something fancy, just being able to have a data table of tests and have the test functions generated and executed from the table is the power demonstrated.