
I have been implementing an ECMA-262 (Javascript) interpreter over the last few weeks. I have been following http://www.ecma-international.org/ecma-262/5.1 and tried to keep my implementation as close to the specification as possible. The code can be found here https://github.com/fabianbergmark/ECMA-262 So far I have implemented the core language, but has yet to write all the specification functions (Array.splice, String.substring etc.). Before I do this and release it on hackage, I would appreciate feedback on my implementation. The issues I see at the time are: * The parser is slow for deeply nested code * Strict mode is not implemented * Interpret.hs is ~ 6k lines * SubType.hs uses IncoherentInstances, and a better implementation would be nice. At the moment it works but for one case. To test the code, install the cabal package and run ecma262 on a .js file. One host object, console.log is provided and prints to stdout. Fabian Bergmark