4 ms·
About the syntax. I tend to prefer Scheme because (, [ and { mean the same thing, whether in Clojure they are different constructs. How do you feel about this m
by haolez 5y ago
About the syntax. I tend to prefer Scheme because (, [ and { mean the same thing, whether in Clojure they are different constructs. How do you feel about this minor point?
- silver-arrow 5y agoI guess for me, I like having them be different things, like they are in Clojure. But that could certainly be because Clojure is my first and only exposure to a LISP type syntax.
- canadianfella 5y ago
- gmfawcett 5y ago> (, [ and { mean the same thing... That's not a feature of Scheme. It must be a feature of the implementation you use. (Which one?) E.g. in R7RS, [ ] and { } are explicitly reserved for future language extensions. https://standards.scheme.org/official/r7rs.pdf https://standards.scheme.org/official/r7rs.pdf
- haolez 5y agoMy last Lisp project was using Racket, but when it was called PLT Scheme. It's been a long time since then :)
- gmfawcett 5y agoIt seems like only yesterday... but you're right, we are old. :) I was never a big PLT user -- Chicken Scheme for life! -- but they have always been about pushing language boundaries, I'm not surprised to hear that they supported an extended syntax.
- freshhawk 5y agoI think the clojure syntax, with those symbols differentiated, is a pretty great choice. The choice of default meanings is good too, lists/application, indexed sequences and k/v mappings are useful widely used primitive constructs (clojure makes sets (the math meaning, unordered collection, no dupes) with #{} which is handy). It cleans up the code nicely, having these literals, and now I find non-clojure styles to be a bit annoying to read with the extra noise from contructor function calls. And when describing data/DSLs using these literals people generally carry the general meanings over, so things can be a bit more intuitive. And in a lot of places just using ('s and ['s in a way that makes it easy to disambiguate them when reading some DSL or literal value also makes for nicer reading of code (just in terms of a bit less mental parsing effort). I'm the type to not be immediately a fan of extra syntax added to a lisp, but I've been convinced that edn notation is pretty wonderful and I've been converted.