Me gustaría saber si hay un REPL que no es específico del idioma. Paso mucho tiempo sumergiéndome y saliendo de los REPL (principalmente para Clojure, Scala y Haskell), y todos los paquetes me frustran en mayor o menor medida. Parece que el trabajo de un REPL es bastante genérico en el que:¿Una REPL para enlazarlos a todos?
- Leer: tomar la entrada del usuario
- Evaluar: pasar la entrada a algún tiempo de ejecución para el procesamiento de
- de impresión: imprimir los resultados a la pantalla
- Loop: esperar a la siguiente entrada del usuario
no veo por qué no debería haber alguna REPL independiente del idioma, pero no he podido encontrar tal cosa. Algunas cosas que me gustaría en mi REPL ideales:
- Linux línea de comandos de la aplicación
- historia Infinito accesible a través de la flecha hacia arriba
- Posibilidad de editar los comandos anteriores antes de volver a ejecutar
- Ctrl-R para historial like bash has
- múltiples sesiones en un REPL, por lo que puede cambiar entre ellos fácilmente
Y más optimismo
- resaltado de sintaxis, completado de código sensible al contexto
¿Existe esta?
Todos los modos Emacs REPL se crean sobre el modo comint, por lo que tienden a ser muy similares entre sí. Naturalmente, son compatibles con la historia y la finalización del código (según corresponda). – dfan
Tiene requisitos contradictorios aquí: desea una REPL que al mismo tiempo no sepa nada sobre el idioma y, de alguna manera, mágicamente tiene un conocimiento íntimo sobre el idioma para proporcionar la finalización del código. –
No veo esto como conflictivo. Quiero un REPL que presente una interfaz uniforme para cualquier cantidad de backends. Las cosas que tienen en cuenta el lenguaje deberían ser conectables, eso es todo. –