How can I simply "run" lisp files

25,266

Solution 1

Executables

SBCL can save executable images, as Greg Harman mentions (see the :EXECUTABLE keyword): http://www.sbcl.org/manual/index.html#Saving-a-Core-Image

Scripts

Lisp files can be executed as scripts, see: http://www.sbcl.org/manual/#Shebang-Scripts

Command Line Options

SBCL has command line options to evaluate/load lisp code on start: http://www.sbcl.org/manual/#Command-Line-Options

SLIME

SLIME is an Emacs interface for Common Lisp. One can use SBCL via SLIME from within Emacs. Many people prefer Emacs Lisp listeners over typical shell interfaces.

Most Common Lisp implementations have similar capabilities. For details consult their manual or ask here for specific implementations.

Solution 2

A few minutes ago someone replied with an answer nearing what I was looking for.

The reply linked to http://www.sbcl.org/manual/Shebang-Scripts.html which was a great help in figuring out my solution. Whoever it was shouldn't have removed their answer as I was about to mark it as correct ;)

My final solution was to create a batch script that is linked through normal program file association as the program to open .lisp files (Right click file->Properties->Opens With->[Change]).

@ECHO OFF
"C:\Program Files\Steel Bank Common Lisp\1.0.37\sbcl.exe" --script %1

When you double click files in explorer it executes them and when you run them in the command line it does the same.

Solution 3

SBCL can save an executable core image via sb-ext:save-lisp-and-die

Solution 4

If you have already downloaded and installed the SBCL interpreter, then in order to run your programs by simply entering them into the command line you need to add the location of the interpreter to your system PATH variable, so that your machine knows where to look.

This is true for any language. What the Python installer did was add the location of the Python interpreter to your PATH environment variable.

Depending on your platform, do a quick Google search on how to set environment variables.

Share:
25,266
AnnanFay
Author by

AnnanFay

I am an experienced developer looking to solve interesting problems and create insightful programs. My recent expertise is in using Python to investigate algorithmic efficiency, optimisation problems and visualise data.

Updated on February 20, 2020

Comments

  • AnnanFay
    AnnanFay about 4 years

    Python

    When I learned Python I installed it on windows with a nice gui installer and all .py files would automatically run in python, from the command line or explorer.

    I found this very intuitive and easy, because I could instantly make plain text files and run them.

    Lisp

    I'm starting to learn lisp and have decided (from reviews) that SBCL is not a bad lisp implementation.

    Is there a way to setup SBCL to run .lisp files as easily as with Python?

    Are there other lisp implementations that have this?