¿Cuál es la mejor implementación de esquema para los scripts de shell (sys-admin)?

StackOverflow https://stackoverflow.com/questions/1603629

  •  05-07-2019
  •  | 
  •  

Pregunta

He revisado el material académico de Scheme (lea SICP, The Little Schemer, The Seasoned Schemer, TSPL) y he estado jugando con Scheme como un juguete por un tiempo.

Pero quiero ponerme práctico. Hoy necesitaba escribir un script de shell para hacer un procesamiento de archivos por lotes, y pensé "¿por qué no hacerlo en Scheme?". Lo hice, y fue una alegría.

Ahora me veo obligado a preguntarme cuál es la mejor implementación para el tipo de script de shell. Sé que todas las implementaciones difieren en cuanto a lo que implementan más allá de R5RS. (Básicamente, difieren en todas las extensiones útiles y prácticas que desearías en un lenguaje de scripting).

Así que me gustaría elegir una implementación y seguirla. Estoy buscando algo que:

  1. Es multiplataforma (Linux, OS X, Windows).
  2. Tiene extensiones que son útiles en los scripts de shell del día a día, y esas extensiones son parte de la instalación básica.
  3. Es fácil de instalar. (por ejemplo, hay una serie de archivos binarios pre-construidos, y / o es un paquete estándar en muchas distribuciones.)
  4. Se desarrolla activamente, con una comunidad activa.
  5. Tiene soporte para Unicode.

He estado usando Gambit hasta ahora. Parece satisfacer las limitaciones anteriores. PLT parece una exageración. Preguntándose sobre Guile, MIT / GNU, etc.

¿Fue útil?

Solución

PLT Scheme cumple con todos sus criterios. Como parece que ya lo sabes, deberías usar el paquete MzScheme . MzScheme es el tiempo de ejecución sobre el cual se construye todo el PLT.

Si tuviera que descargar la instalación completa de PLT Scheme, parecería grande, ya que incluye mucha documentación y un IDE además del tiempo de ejecución.

Otros consejos

¿Has oído hablar de scsh ? No lo he usado, pero se parece mucho a lo que quieres.

Recomiendo Gauche , que es:

  1. Se ejecuta en Linux, OS X, Windows w / Cygwin y algunos otros como UNIX plataformas ,
  2. La instalación base contiene Bibliotecas de sistemas compatibles con POSIX y módulos útiles como protocolos de red, sistema de archivos, DBM, multiprocesamiento, etc ...
  3. Hay varios sistemas de paquetes como MacPorts, apt-get, yum disponibles. (o simplemente diga configure , make y make install ),
  4. Hay listas de correo activas en inglés y japonés,
  5. Admite UTF-8 como una codificación interna.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top