lisp - simbolos - scheme translate
Lisp/Scheme intérprete sin Emacs? (12)
He estado queriendo enseñarme a mí mismo Lisp por un tiempo. Sin embargo, todos los intérpretes de los que he escuchado tienen algún sabor de emacs. ¿Hay algún intérprete de línea de comandos, de modo que pueda escribir esto en la línea de comando?
lispinterpret sourcefile.lisp
al igual que puedo ejecutar Perl o Python.
Aunque también me gustaría familiarizarme más con Emacs (aunque no me sienta frustrado cuando trabajo con alguien que usa Emacs), prefiero desacoplarme para aprender a aprender Emacs de Lisp.
Editar: en realidad quiero seguir el SICP que usa Scheme, por lo que una respuesta sobre Scheme sería más útil. Simplemente no estoy tan familiarizado con las diferencias.
A menudo escribo scripts de shell lisp que comienzan con esta línea:
#! / usr / bin / clisp
Entonces ni siquiera necesita escribir "lispinterpret" en la línea de comandos. Simplemente marque el ejecutable del script y ejecútelo directamente.
¿Has probado Allegro CL desde http://www.franz.com/ ?
@ Nathan: He modificado los enlaces de Common Lisp, porque preguntaste sobre Lisp (especialmente con referencia a Emacs Lisp). Sin embargo, Common Lisp es muy diferente de Scheme. Un programa escrito para uno es poco probable que se ejecute en el otro.
Como mencionaste, SICP es para aprender Scheme, no Lisp (o al menos, Common Lisp y no Emacs Lisp). Hay algunos solapamientos en los principios, sin embargo, no se puede simplemente cortar y pegar código de SICP y esperar que se ejecute en cualquier sistema Common Lisp o Emacs Lisp. :-)
Otro buen dialecto de lisp es cmucl . Solían adorar alardear de ser el ceceo "más rápido".
El IDE más utilizado para Common Lisp, particularmente en el subconjunto de software libre de la comunidad, es de hecho SLIME , que se ejecuta en Emacs. Puedes usar cualquier compilador CL que prefieras e invocar los archivos fuente Lisp de la manera que describes, pero si lo haces, no aprovecharás muchas de las características dinámicas de Lisps que son increíblemente útiles mientras desarrollas tu aplicación.
Sugiero que echen un vistazo a este video de demostración de SLIME para ver a qué me refiero, a pesar de que podría estar un poco desactualizado en este momento.
Si el problema es que usted (cree que) no le gusta Emacs, le sugiero seriamente que intente aprenderlo. Seriamente. No, realmente, quiero decir eso. Sin embargo, existen alternativas, como los IDE provistos por implementaciones Lisp comerciales como Allegro y Lispworks (pruebas gratuitas disponibles), o un complemento de Eclipse llamado Cusp .
Ningún "intérprete" requiere emacs.
Además, emacs puede ejecutar elisp de una manera sin cabeza.
Si está buscando Scheme para trabajar con el SICP, eche un vistazo al Esquema MIT / GNU
Parece que el esquema de shell es adecuado para su propósito. Eche un vistazo a http://www.scsh.net/index.html
También puedes probar DrScheme , que aunque no es exactamente un intérprete independiente, no es emacs :)
Básicamente es un IDE simple que tiene un área para escribir en código que se puede ejecutar como un archivo, y luego otra área que es el intérprete en ejecución con la que puede interactuar.
(Además, encuentre los podcasts UC Berkeley CS61A y escúchelos, además de leer el SICP)
La mayoría de los intérpretes de esquemas con los que estoy familiarizado se pueden ejecutar desde la línea de comandos. (Gran parte de la siguiente lista se extrae de la tabla comparativa en la página de Opciones de implementación de esquemas de Alexey Radul. Hay una lista más extensa en schemewiki, pero esa página no proporciona inmediatamente la sintaxis de invocación de la línea de comandos).
Así es como ejecuta una serie de implementaciones en la línea de comando:
Chez Scheme :
scheme
,petite
Esquema MIT :
mit-scheme
Esquema 48 :
scheme48
RScheme :
rs
Raqueta :
racket
(Pero recomiendo probar DrRacket IDE, especialmente para principiantes).Guile :
guile
Bigloo :
bigloo
Pollo :
csi
Gambito :
gsi
Gauche :
gosh
IronScheme :
IronScheme.Console
Kawa :
kawa
,java kawa.repl
Larceny :
larceny
SCM :
scm
Parece que Steel Bank Common Lisp (SBCL) también atiende a lo que desea:
http://www.sbcl.org/manual/#Shebang-Scripts
SBCL es de alta velocidad y de código abierto.