2009-05-11 20 views
6

Von Python kommend bin ich auf der Suche nach einer "leicht zu testenden" Shell wie Python mit ipython (vorzugsweise mit Emacs Unterstützung). In der Erlang-Shell muss man immer zuerst kompilieren (c(...)) was die experimentelle Phase sehr verlangsamt.Gibt es ein Ipython-Äquivalent für Erlang?

+0

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

Antwort

3

Ja, es ist :) 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

dass Overlooked! Aber immer noch keine Tab-Vervollständigung und ähnliches ... –

+0

Sie haben tab-Vervollständigung in der normalen Erlang-Shell auf Modulnamen und Funktionsnamen. –

+0

sehen Sie meinen Kommentar unten, wie Sie die Shell-Autoload-Änderungen für Sie vornehmen können. –

1

Es sollte ziemlich einfach sein, ein Modul der beginnt ein Prozess automatisch zu laden Code zu bauen in der Shell verändert. Erlang hat tatsächlich Unterstützung für diese Art von Dingen eingebaut. Wenn Sie also den Code neu kompiliert haben, wird er automatisch in Ihre Shell geladen, so dass Sie c ('module.erl') nicht mehr eingeben müssen. dich selber. Sie könnten es wahrscheinlich sogar Dateiänderungen überwachen lassen und es automatisch für Sie kompilieren. siehe:

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

für ein Beispiel in Aktion.

Derzeit sucht dieses Modul nur nach neu kompilierten Modulen, aber es sollte trivial sein, nach geänderten Quelldateien zu suchen und sie für Sie neu zu kompilieren.

1

IErlang ist ein Erlang-Sprachkernel für IPython. Es erlaubt Benutzern, IPythons Notebook-Frontend zu verwenden, außer wo IPython Python-Code ausführt, kann IErlang Erlang-Code ausführen und Erlang-Module kompilieren und ausführen.

https://github.com/robbielynch/ierlang

Es gibt auch einen IPython Kernel für Elixir:

https://github.com/pminten/ielixir

+2

Ich dockerize IErlang. Sie können IErang nur einen unteren Befehl mit Andockfenster ausführen. 'docker run -d -p 8888: 8888 nacyot/ierlang: apt' – nacyot