Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SPY/haskell-wasm
Haskell WebAssembly Toolkit
https://github.com/SPY/haskell-wasm
compiler haskell toolkit webassembly
Last synced: 3 months ago
JSON representation
Haskell WebAssembly Toolkit
- Host: GitHub
- URL: https://github.com/SPY/haskell-wasm
- Owner: SPY
- License: other
- Created: 2018-01-19T00:06:15.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-09-26T03:26:44.000Z (about 1 year ago)
- Last Synced: 2024-05-14T11:43:56.674Z (6 months ago)
- Topics: compiler, haskell, toolkit, webassembly
- Language: Haskell
- Homepage:
- Size: 873 KB
- Stars: 147
- Watchers: 10
- Forks: 23
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
* [X] Compile Core Tests to Tasty test cases and pass all tests## Todo
* [ ] Improve error messages for text representation parsing
* [ ] Text Representation pretty-printer
* [ ] Command line tool for calling interpreter/compiler/validator
* [ ] Codegen interface for type enforced generating valid WASM code
* [ ] Support for building if, loop, block## Development
Clone sources to directory and use `stack` for running tests:
```
stack build && stack test
```