der Titel sagt eigentlich schon alles. Die Frage ist aber: „Warum sollte man einen weiteren Python Interpreter in JavaScript brauchen?“
- Dateigröße: Die bestehenden Implementierungen, allen voran PyPy.js, sind relativ groß aber nicht jeder braucht alle Features. Die Idee ist, dass man den Code des Interpreters so schreibt, dass sich verschiedene Funktionen (durch einen Präprozessor) an- und abschalten lassen.
- Erweiterbarkeit: Der Erfolg von CPython hängt unter anderem auch damit zusammen, dass man Erweiterungen in C programmieren kann. Die Idee ist hier anzuknüpfen und eine JavaScript API anzubieten, die es erlaubt schön und einfach Erweiterungen zu bauen.
- Koroutinen: Kooperatives Multitasking hat mit Python 3.5 Einzug in die Sprachspezifikation gehalten. Keine der bisherigen Implementierungen erlaubt es jedoch Koroutinen oder gar Greenlets zu benutzen. Die Idee ist, dass man den Interpreter gleich so schreibt, dass dies möglich ist.
Ich habe bereits begonnen einige Sachen zu implementieren und zu experimentieren, jedoch ist das neue Rad noch etwas eckig: https://github.com/koehlma/jaspy
Ich würde mich sehr über Anregungen und Kritik freuen!
Viele Grüße,
Maximilian