Theory Proven Incorrect
One of my reasons for writing a scheme interpreter/compiler is that I have always thought Scheme would be a good foundation for building a universal dynamic language environment. It seems that this was also a goal of Guile, the GNU extension language. I can (obviously) see the appeal.
Theory proven incorrect aside, I will say my goals are a trifle different. I’m not looking to port existing languages, at least not identically. I don’t think I would have had such hubris. Instead, I’m trying to create a language development environment. I think Scheme provides a great base, or more precisely, any VM that can support a Scheme has the necessary primitives to support just about any dynamic language. So there is my hubris
.
I believe that a Scheme is the ideal environment for trying dynamic language ideas for a couple of reasons:
1) The syntax of Scheme is similar to an abstract syntax tree. Parsers simply have to create a scheme equivalent and run (print (eval (read))).
2) Add primitives in Scheme. When a dynamic language needs a new primitive, it can easily do so by creating a scheme function or macro.
After getting this project up and running to a 1.0 state, I plan on writing a BASIC interpreter for it to provide a prototype.