News for hackers. Stuff that matters.
Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by jfoutz on Sunday January 06, 2019 @07:01PM (#18841601)
The jvm is really nice. Operationaly, it’s kind of a pain. You can upgrade the installation on bare metal, you can play the packer game and ship new vms, or you can have crazy fat docker containers. K8s can sort of deal with the vm model, but it’s beta.

Go is pretty nice in this regard. I should look into racket and chicken again for static binaries. I gotta say “from scratch “ is a fun way to start a dockerfile

Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by slondr on Sunday January 06, 2019 @07:19PM (#18841696)
If you want to write a program in a Lisp and ship it as a compiled binary, your best bet is to use Common Lisp and compile it with SBCL. A stripped SLAD binary will be way smaller with way less overhead then running a whole host of bytecode on a VM like Racket or Clojure.
Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by drcode on Sunday January 06, 2019 @08:27PM (#18842031)
But few people care about overhead or executable size much anymore, outside of embedded systems.

What most people care about is computational performance, and clojure performs OK by this metric (certainly SBCL can still beat it in many use cases on this metric as well, but often only by a modest margin)

Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by fiddlerwoaroof on Sunday January 06, 2019 @08:28PM (#18842032)
sbcl also has the ability to statically link all your C dependencies using CFFI’s STATIC-IMAGE-OP
Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by lincpa on Monday January 07, 2019 @05:53AM (#18844254)
Clojure can also do it. Java Abstracted Foreign Function Layer https://github.com/jnr/jnr-ffi
Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by fiddlerwoaroof on Monday January 07, 2019 @02:15PM (#18848871)
I don't think that's exactly the same: CFFI has the ability to bind C libraries with minimal boilerplate just like jnr-ffi does. But, in addition, with CFFI (and sbcl built with a particular set of flags) you can generate an CL image that only depends on GLIBC because you've statically linked all your .so dependencies into the resulting image.
Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by protomyth on Sunday January 06, 2019 @08:44PM (#18842098)
If you are writing software in an enterprise then Java / JVM is a well understood quantity with a whole lot of deployment options. Being something that looks exactly like every other Java program from the point of view of those deploying it is a huge win.
Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by fulafel on Monday January 07, 2019 @01:45AM (#18843289)
Can you expand on the comment about Kubernetes and VMs?

I don't know much about Kubernetes but AFAIK people just put a jar file and JVM in the container image and run it just like any other server app. The jar files can get big (100+ MB) if you have lots of deps, but not to the extent that container image size would be problematic in normal server app environments.

Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by StreamBright on Monday January 07, 2019 @03:10AM (#18843606)
Well JAR files are that big because many java devs import libraries that they never use and you end up with 100+ dependencies when you really need 10. Clojure (Maven) has a way of dealing with this using :exclusions. My typical jar files are 10 - 50MB which are manageable today very well.
Re:How innovative is Clojure as a Lisp dialect from Lisp exp... by lincpa on Monday January 07, 2019 @05:48AM (#18844231)
You can compile the Clojure project with graalvm, or you can compile the Clojure-clr project (or Clojure project translated by ikvm.net) with the .net core CoreRT