2009-05-11 13 views
6

Viniendo de Python Estoy buscando algún shell "fácil de probar" como Python tiene con ipython (preferiblemente con soporte de Emacs). En el intérprete de comandos de Erlang, siempre debe compilar primero (c(...)), lo que ralentiza mucho la fase experimental.¿Hay un equivalente de ipython para erlang?

+0

https://github.com/robbielynch/ierlang – 0xAX

Respuesta

3

sí lo es :) http://erlang.org/doc/man/escript.html

$ cat /tmp/test 
#!/usr/bin/env escript 
main(_) -> 
io:format("Hello World!\n"). 
$ chmod +x /tmp/test 
$ /tmp/test 
Hello World! 
+0

por alto que! Pero aún así, sin completación de tabulación y similares ... –

+0

Tiene la terminación de tabulación en el shell normal de Erlang en los nombres de los módulos y funciones. –

+0

vea mi comentario a continuación sobre cómo hacer que los cambios automáticos de shell cambien para usted. –

1

Debe ser bastante fácil de construir un módulo se inicia un proceso de carga automática de código cambia en su concha. Erlang en realidad ha incorporado soporte para este tipo de cosas. Por lo tanto, cada vez que haya recompilado el código, se cargará automáticamente en su shell, eliminando así la necesidad de escribir c ('module.erl'). tú mismo. Probablemente incluso podría tener que monitorear los cambios en el archivo y compilarlo automáticamente por usted. ver:

http://github.com/toddlipcon/mochiweb/blob/29d6ffd58aa2cd175f84cadfc1ce1697f366ef62/src/reloader.erl

para un ejemplo en acción.

Actualmente, ese módulo solo busca módulos recompilados, pero debería ser trivial tener que buscar archivos fuente modificados y recompilarlos por usted.

1

IErlang es un kernel del lenguaje Erlang para IPython. Permite a los usuarios utilizar el frontend Notebook de IPython, excepto cuando IPython ejecuta código python, IErlang puede ejecutar código erlang y compilar y ejecutar módulos erlang.

https://github.com/robbielynch/ierlang

También hay un núcleo de IPython Elixir:

https://github.com/pminten/ielixir

+2

Hackear IErlang. Puede ejecutar IErang solo un comando debajo con el acoplador. 'docker run -d -p 8888: 8888 nacyot/ierlang: apt' – nacyot

Cuestiones relacionadas