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?
Antwort
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!
dass Overlooked! Aber immer noch keine Tab-Vervollständigung und ähnliches ... –
Sie haben tab-Vervollständigung in der normalen Erlang-Shell auf Modulnamen und Funktionsnamen. –
sehen Sie meinen Kommentar unten, wie Sie die Shell-Autoload-Änderungen für Sie vornehmen können. –
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.
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:
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
- 1. Gibt es eine Erlang-Implementierung für Android?
- 2. Es gibt keine reife Yaml-Bibliothek für Erlang
- 3. Gibt es eine stabile Cassandra-Bibliothek für Erlang?
- 4. Erlang: Gibt es eine API zu 'epmd'?
- 5. Welche Schwächen gibt es bei der Verwendung von Erlang?
- 6. Profiler/Analysator für Erlang?
- 7. Erlang: ein Arbeitsverzeichnis für Mnesia angeben?
- 8. Gibt es ein Klickverhalten für eine Liste?
- 9. Gibt es ein make_tuple für C#?
- 10. Gibt es ein Klassenbibliotheksdiagramm für Django?
- 11. Gibt es ein Kalender-Plugin für Tablet?
- 12. Gibt es ein Perl-Plugin für IntelliJ?
- 13. Gibt es ein Yaml-Bearbeitungsmodul für ansible?
- 14. Gibt es ein WxWidgets-Framework für C?
- 15. Gibt es ein Höchstlimit für SSRS-Abonnementparameter?
- 16. Gibt es ein Werkzeug für das Regressionsmodell?
- 17. Gibt es ein RangeAttribute für DateTime?
- 18. Gibt es ein Java-Äquivalent für LINQ?
- 19. Gibt es ein global_variable_set für Ruby?
- 20. Gibt es ein schwerwiegendes Änderungsprotokoll für iOS6?
- 21. Gibt es ein Paketverwaltungssystem für MinGW + MSYS?
- 22. Gibt es ein #define für C99?
- 23. Gibt es ein Bibliotheksrepository für C?
- 24. Gibt es ein Limit für PHP file_get_contents?
- 25. Gibt es einen Inhaltstyp für ein NRL?
- 26. Gibt es ein "method_missing" für Rake-Aufgaben?
- 27. Gibt es ein Limit für setTimeout?
- 28. Gibt es ein universelles Modell für Sprachen?
- 29. Gibt es ein log4net Muster für machine
- 30. Gibt es ein fusselartiges Programm für Crontab?
https://github.com/robbielynch/ierlang – 0xAX