4 ms·
Can you be more specific? In particular, about stuff you'd consider to be lacking in Clojure?
by dasmoth 10y ago
Can you be more specific? In particular, about stuff you'd consider to be lacking in Clojure?
- armitron 10y agoConditions and restarts, read macros, interactive debugging, native code compilation, extremely easy interface with C, intrinsics, compiler macros, full control of code generation, built-in disassembler and so on and so forth. Clojure is ok if all you're doing is based on the JVM. If that's not the case, then it simply doesn't exist.
- phyrex 10y agoYou're just saying 'Clojure isn't as good as CL because it's not CL'. When one of the the biggest selling point is "it works seamlessly on the JVM" it's a bit disingenuous to say "it's not as good as CL because it doesn't have a good C interface".
- ska 10y agoThe c interface is a bit silly, but the rest of the points are pretty good. Clojure is a reasonable lisp-on-the-JVM, but lacks some of the really good things about lisps.
- junke 10y agoYou could use JNA (Java Native Access) with Clojure[0], exactly like ABCL does with the CFFI library. [0] https://nakkaya.com/2009/11/16/java-native-access-from-clojure/ https://nakkaya.com/2009/11/16/java-native-access-from-cloju...
- imagist 10y agoRestarts, call/cc, reasonable error reporting, reasonable error reporting, real tail-call elimination.
- dasmoth 10y agoGot you. Once upon a time, there was a serious continuations-on-the-JVM proposal, but it fizzled. Rather sad. Fixnums would also help Clojure.
- foldr 10y agoI thought the general consensus on call/cc now is that although it's very powerful in principle it's not such a great abstraction in practice. It's difficult to implement efficiently and abstractions created using it tend to be very brittle. See e.g.: http://okmij.org/ftp/continuations/against-callcc.html http://okmij.org/ftp/continuations/against-callcc.html
- greghendershott 10y agoRacket provides delimited continuations. The page you linked to is criticizing undelimited continuations -- including quoting Matthias Felleisen -- and contains a link to the following: http://okmij.org/ftp/continuations/undelimited.html#delim-vs-undelim http://okmij.org/ftp/continuations/undelimited.html#delim-vs...
- foldr 10y agoYes I know, but call/cc without any context generally refers to undelimited continuations. Delimited continuations use differently named primitives.
- aidenn0 10y agoIn lisp-like languages I am aware of two implementations of delimited continuations using call/cc (racket and cl-cont) but zero that use shift/reset.
- qwertyuiop924 10y agoWell, real conses would be nice, for a start...