Lisp Executable

Alexander Stolz picture Alexander Stolz · Aug 24, 2008 · Viewed 22.7k times · Source

I've just started learning Lisp and I can't figure out how to compile and link lisp code to an executable.

I'm using clisp and clisp -c produces two files:

  • .fas
  • .lib

What do I do next to get an executable?

Answer

thekidder picture thekidder · Aug 25, 2008

I was actually trying to do this today, and I found typing this into the CLisp REPL worked:

(EXT:SAVEINITMEM "executable.exe"
                 :QUIET t
                 :INIT-FUNCTION 'main
                 :EXECUTABLE t
                 :NORC t)

where main is the name of the function you want to call when the program launches, :QUIET t suppresses the startup banner, and :EXECUTABLE t makes a native executable.

It can also be useful to call

(EXT:EXIT)

at the end of your main function in order to stop the user from getting an interactive lisp prompt when the program is done.

EDIT: Reading the documentation, you may also want to add :NORC t (read link). This suppresses loading the RC file (for example, ~/.clisprc.lisp).