Announcing the ENative Project.
At http://www.erights.org/enative/ I've posted web pages and source code for a very simple and readable implementation of Kernel-E in C++. As explained on these pages, were this work taken even a moderate amount further, it would tell us, rather reliably, how fast a very simple implementation of E in C++ along these lines would be. Ping provoked me into doing this (thanks!), by showing that the current interpretive E on Java is much slower than Python, while reminding me that Python has a very simple implementation that people are nevertheless happy with. I see no reason that an E implemented at the same ambition level cannot do at least as well, and I suspect it could indeed do somewhat better. ENative is my incomplete attempt at finding out.
The implementation techniques used come from Lisps, Smalltalks, and especially Joule.
With the posting, I hereby put the work down for now. Hopefully one of you will pick up where I've left off. If you're at all like me, I promise you it would be a fun project. I found it very hard to stop working on it.
Cheers,
--MarkM