-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 25.04.2016 22:02, Jason Felice wrote: > There was talk of an LLVM backend a while back, but I believe LLVM > was deemed too low-level to be useful. That was, in fact, why I > signed the contributor agreement. So, I'd love to see some > movement on a C back-end. > > Gambit Scheme has a special form that emits C (or C++) code. It's > very useful. I can't remember which Lisp it was, but there was > definitely a lisp which had an emit-C as it's *only* special form. > It might have been one of the embedded schemes. > > Last time I looked, I also saw ClojureC: It looked useful, but > hasn't been touched in 3 years.h
Just because you mentioned it, I played a lot with the ClojureC compiler and implemented the metacircular evaluator for it two years ago. There is a really nice REPL for it: https://github.com/bertfrees/cljc.repl But ClojureC is not fast, because statically compiling all the abstractions in (look at the emitted C code), makes it slow. You can directly call C though and get a self-contained binary. I guess Ferret is better for embedded development though. I found mjolnir really interesting and would like to see a way to build native building blocks from Clojure that way. At least one could implement performance critical numeric routines directly in Clojure including annotations and call them from the JVM (e.g. on the GPU). This should cover a lot of what Julia does, but I am not familiar enough with its internals (e.g. JIT and how it standardizes tensor memory layout etc.). Cheers, Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJXH99KAAoJEICbLivqiPOFTNUP/ik2l/Bg528fvcBlX4WG+kOr zLlNL7YgXu+rx/kZ+yVZuN/IQo5MW/TdRmOuZz7qkqb0nOuYNJ2J/fij4pUXISnn tvlgVF4Pasj4sV0e/i4ZL5vo7T8KMd4UIb2D8YFdmNMXXFUw1OgBf10ucQvtljxt eHGiDIf2etLYIfZupJAS5jtZqW17FK+K10sTZGdd5ZlCMUctl708BPXLlwayjpXM erIXc7/hS5YIemC0iHEgNLYfyFLxIPa/Jid6PW3kZ7bJeB1QmwBTn472nI9GYMln LF3DVx6QWK9B210qFz4HemgEKhkKj8/wNRR2uNpsBsYtYoMkUvB2tGeWuw6620G+ YFA2VOsVGpHaPPBxPgJLpT6/mN+ELmpmHdDk+L/UlFHw4eP/V/FlCNc1rnoR0HlM j9Sqz11eJyy4rZRINC1N6PyXNDlTAFVOUypbb9dTAx7s2h/nBvqqLRAuMQ2kHHPf 8+Mp13EsSu2AaHDW/rFkM158zARn04gHiuFvtlCSjqZY6aCSCYAfKgY+v6YKEG1T lhqyOlVo9i/tXCDCE3xov30Tp1BdqHDjuGyckfkkxFAJdzoylbuyCewR5GMppyie FH93BZ63niWtwVXo8vuMAQHkiJnnVcw9BNqlFCI5cJH3LUTx0Kt/Jk1LhKxs0256 TZg/fBZqNQAYQtHMorJ1 =VsLc -----END PGP SIGNATURE----- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.