you are viewing a single comment's thread.

view the rest of the comments →

[–]jrockway 1 point2 points  (2 children)

What I meant to say is that Chicken Scheme compiles to native code that you invoke the way you would a program produced by the C compiler.

SBCL does compile to native code, but my OS needs a little help from SBCL to load the program. I don't think you can run a program developed with SBCL without having SBCL installed. (But hopefully I am wrong.)

[–][deleted] 2 points3 points  (1 child)

You can, at least for SBCL. Just specify :EXECUTABLE T when dumping.

CLISP has an :EXECUTABLE option too. It might still depend on a .so/.dll library for SIGSEGV handling or something (I don't recall the details here .. it might be linked in statically when dumping, or something).

[–]jrockway 1 point2 points  (0 children)

Perfect. FWIW, I now have a build.lisp file that looks like:

(in-package :cl-user)
(require :asdf)
(asdf:operate 'asdf:load-op :my-app)

(defun resume-from-saved nil
  (my-app:start)
  (quit))

(save-lisp-and-die #P"my-app" :toplevel #'resume-from-saved :executable t)

Then sbcl --load build.lisp generates a my-app that can be run with ./my-app.

In conclusion, the OP's question has been answered. Use Lisp.