29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# Haskell WebAssembly Toolkit
|
|
|
|
## Goals
|
|
* Provide a WebAssembly code generation tool for Haskell
|
|
* Create an infrastructure for Cmm to WebAssembly code generator
|
|
* Have Fun :)
|
|
|
|
## Status
|
|
* [x] Lexer: supports nested block comments and all lexemes from the WebAssembly Spec
|
|
* [x] Parser: parses all examples from WebAssembly Core TestsSuit (including folded instructions parsing)
|
|
* [x] Renaming Phase: substitute identifiers with correct indexes, expand all implicit type declarations)
|
|
* [x] Binary format parser/serializer
|
|
* [x] Validation Phase: execute a verification procedure from the Spec
|
|
* [x] Execution Phase: implement a simple interpreter
|
|
* [x] Support extended Core Test Suit assertion grammar
|
|
|
|
## Todo
|
|
* [ ] Improve error messages for text representation parsing
|
|
* [ ] Text Representation pretty-printer
|
|
* [ ] Compile Core Tests to Tasty test cases and pass all tests
|
|
* [ ] Command line tool for calling interpreter/compiler/validator
|
|
* [ ] Codegen interface for type enforced generating valid WASM code
|
|
|
|
## Development
|
|
Clond sources to directory and use `stack` for running tests:
|
|
```
|
|
stack && stack test
|
|
```
|