eonhs: Announcing E on Haskell
Nathan <[email protected]>
| Newsgroups | gmane.comp.lang.e.general |
|---|---|
| Message-ID | <[email protected]> |
Greetings, I've begun implementing E on Haskell: https://bitbucket.org/nejucomo/eonhs Currently there is a parser and interpreter for literal values, references (but not binding patterns), and expression sequences. There is no commandline other than a non-interactive unit test runner. There is much I do not understand about E language specifics, but I'll certainly be learning about these soon! My strategy is for test-driven equivalence between implementations as a means to improve the specification. I have not yet hunted for a language implementation test corpus, but I intend to see if/how E-on-CL and and E-on-Java verify their compliance. Is there such a test framework? What I imagine is a tarball filled with scripts or emakers that meet some compliance interface (such as computing some values and asserting post-conditions). It is important this corpus also contains negative tests, which can be useful for finding and avoiding dark corners in parsers, grammars, and semantics. Along with this tarball a driver program would execute the test cases for each available implementation and display a diff of their results. I have noticed some syntax variation in code examples and the language versioning pragmas. I'd like to only target the "latest stable language definition". Is there documentation on the differences between language versions? Finally, E-on-Java absorbs much of the standard library. Is there a well-defined subset of standard interfaces which both E-on-Java and E-on-CL support? Regards, Nathan Wilcox ps: My haskell experience is mostly writing lone hobby projects, so I expect I'll run into some gotchas (especially around performance) and my style may be suboptimal. If anyone would like to contribute, let me know!