Search code examples
buildlispcommon-lispclisp

Lisp Executable


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?


Solution

  • 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).