lisp – ¿Cómo puedo ejecutar el código SBCL bajo un sistema operativo similar a Unix de una manera conveniente?

(David James escribió la pregunta y una respuesta. Lo editaré para cumplir con los estándares de Stackoverflow).

Usando SBCL puedes compilar código Lisp a código de máquina.

Al igual que Java, .net, C e incluso C, necesitará el tiempo de ejecución. Así que hay dos formas de compilar el código Common Lisp.

Lo primero es hacer binarios enormes que se explican en la documentación de SBCL. No se necesita SBCL en la máquina de destino.

La otra forma es más flexible, que es crear un código de máquina en formato fasl (FASt Load). El tiempo de ejecución de SBCL es necesario en la máquina de destino.

¿Cómo funciona la segunda forma en un sistema operativo similar a Unix?

Mejor respuesta
(Respuesta de David James 🙂

Vamos a hacer dos comandos en nuestro sistema: uno para compilar por lotes el código Lisp y otro para ejecutar fácilmente el código Lisp:

Usando su editor favorito, abra un archivo llamado sbcl.compile. El contenido debe ser:

    #!/bin/bash
    sbcl --noinform --eval "(compile-file \"$1\")" --eval "(quit)" > /dev/null

Ahora para compilar los archivos Lisp usa:

    # sbcl.compile hello.lisp

Esto creará un archivo hello.fasl.

Ahora para ejecutar fácilmente estos archivos, creamos un nuevo comando. Usando su editor favorito, abra un archivo llamado sbcl.run. El contenido debe ser:

    #!/bin/bash
    sbcl --noinform --load "$1" --quit --end-toplevel-options "$@"

Ahora puede invocar sbcl.run hello.fasl para ejecutar el código nativo.

    # sbcl.run hello.fasl

Los detalles se describen en el manual SBCL: Starting SBCL.

Por favor indique la dirección original:lisp – ¿Cómo puedo ejecutar el código SBCL bajo un sistema operativo similar a Unix de una manera conveniente? - Código de registro