4 ms·
R7RS is a great improvement over R5RS, and avoids a lot of pitfalls of R6RS. I wish they standardized the filename lookup for libraries as well, then distribut
by codemac 4y ago
R7RS is a great improvement over R5RS, and avoids a lot of pitfalls of R6RS.
I wish they standardized the filename lookup for libraries as well, then distribution of libraries between scheme implementations would become easier.
- dleslie 4y agoI loved Scheme, for years. Contributed to Geiser and others. IMHO, R7RS is wonderful but DOA unless it ships an opinionated and standardized FFI. Scheme has no lack of efforts to provide package management and repositories, but they suffer from implementation balkanization because each implementation takes a different route to FFI[0]. FWIW, I haven't paid much attention since shortly after R7RS-small was released. 0: https://docs.scheme.org/guide/ffi-c/ https://docs.scheme.org/guide/ffi-c/
- packetlost 4y agoAre square brackets part of the spec now? I can't get over ((((( for everything with no real easily visible distinguishability between parts of a definition. Clojure gets the Lisp-like syntax as right as possible IMO.
- nerpderp82 4y agoClojure on Racket would be pretty sweet.
- packetlost 4y agoYeah, the only thing holding me back from going all in on Clojure is the JVM's chunkyness and the lack of a good type system. I'd love to see Haskell's type system grafted onto a Clojure-flavored Lisp.
- mjhay 4y agoI've never used it, but you might be interested in Shen [0]. There's also Babushka, which is a lightweight interpreted backend for Clojure [1] that is very practical for scripting, etc. [0] https://shenlanguage.org/ https://shenlanguage.org/ [1] https://github.com/babashka/babashka https://github.com/babashka/babashka
- packetlost 4y agoI'm familiar with Babashka, Shen looks very interesting. Thank you!
- nequo 4y agoYou might enjoy Typed Racket. Clojuresque square brackets and statically checked type annotations: https://docs.racket-lang.org/ts-guide/ https://docs.racket-lang.org/ts-guide/
- packetlost 4y agoNot a fan of typed Racket. It feels like grafting a type-system onto a Lisp with macros, which is, IMO, not sufficient. The syntax in particular is ugly and creates unnecessary separation between bindings and their types. Also gradual typing is little bit of worst of both worlds, coming from a heavily typed Python codebase.
- nequo 4y ago> creates unnecessary separation between bindings and their types I like this in Haskell/Agda/Idris because it makes the function definition easier to read while still keeping the type signature in view. Interesting. Like they say, de syntaxibus non est disputandum.
- tommyage 4y ago> Are square brackets part of the spec now? I can't get over ((((( for everything with no real easily visible distinguishability between parts of a definition. Clojure gets the Lisp-like syntax as right as possible IMO. Square brackets are replaced by normal parenthesis to my knowledge. Though I have to admit that I strongly dislike them. They put more cognitive effort into the syntax than they aid.
- packetlost 4y agoFor me the cognitive effort is greater without the use of []. The meaning of the () following a symbol in a (define) is only determined by it's position. With [] you can, at a glance, know the role of that list. It gives some visual separation to the parts of a function definition that most other languages just have automatically.