{"id":29508525,"url":"https://github.com/robbepop/runwell","last_synced_at":"2025-07-16T05:40:24.292Z","repository":{"id":53774707,"uuid":"228057608","full_name":"Robbepop/runwell","owner":"Robbepop","description":"An experimental WebAssembly virtual machine.","archived":false,"fork":false,"pushed_at":"2021-11-23T12:14:35.000Z","size":7648,"stargazers_count":13,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-13T10:58:28.304Z","etag":null,"topics":["compiler","interpreter","virtual-machine","wasm","webassembly"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Robbepop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-14T17:00:08.000Z","updated_at":"2025-02-28T14:59:57.000Z","dependencies_parsed_at":"2022-08-30T21:21:11.009Z","dependency_job_id":null,"html_url":"https://github.com/Robbepop/runwell","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Robbepop/runwell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robbepop%2Frunwell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robbepop%2Frunwell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robbepop%2Frunwell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robbepop%2Frunwell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Robbepop","download_url":"https://codeload.github.com/Robbepop/runwell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robbepop%2Frunwell/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265485271,"owners_count":23774457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","interpreter","virtual-machine","wasm","webassembly"],"created_at":"2025-07-16T05:40:23.671Z","updated_at":"2025-07-16T05:40:24.280Z","avatar_url":"https://github.com/Robbepop.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The `runwell` WebAssembly Virtual Machine\n\n|   Continuous Integration  |    Coverage      |       LoC        |\n|:-------------------------:|:----------------:|:----------------:|\n| [![GHActions][A1]][A2]    | [![loc][B1]][B2] | [![][C1]][C2]    |\n\n[A1]: https://github.com/Robbepop/runwell/workflows/Rust%20-%20Continuous%20Integration/badge.svg?branch=master\u0026event=push\n[A2]: https://github.com/Robbepop/runwell/actions?query=workflow%3A%22Rust+-+Continuous+Integration%22+branch%3Amaster+event%3Apush\n[B1]:  https://codecov.io/gh/Robbepop/runwell/branch/master/graph/badge.svg\n[B2]:  https://codecov.io/gh/Robbepop/runwell/branch/master\n[C1]: https://tokei.rs/b1/github/Robbepop/runwell?category=code\n[C2]: https://github.com/Aaronepower/tokei#badges\n\nAn attempt for a non-bombable, optimizing WebAssembly (Wasm) JIT compiler with deterministic behaviour.\n\n\u003e **WIP** - The `runwell` virtual machine is under active development. Don't expect it to be working. Here be dragons.\n\n## Crates \u0026 Documentation\n\n| Crate | Docs | Description |\n|:--|:--|:--|\n| `runwell_entity` | [![][doc-badge]][entity-docs] | Data structures to follow data oriented design architecture using entity component structures. |\n| `runwell_ir` | [![][doc-badge]][ir-docs] | Defines the Runwell **I**ntermediate **R**epresentation (IR) on the instruction level. |\n| `runwell_module` | [![][doc-badge]][module-docs] | Defines the module and function structure of the Runwell IR. |\n| `runwell_interpreter` | [![][doc-badge]][interpreter-docs] | Implements a simple Runwell IR interpreter. |\n| `runwell_wasm` | [![][doc-badge]][wasm-docs] | Implements routines to convert from WebAssembly (Wasm) to Runwell IR. |\n\n[doc-badge]: https://img.shields.io/badge/click-blue.svg\n[entity-docs]: https://robbepop.github.io/runwell/runwell_entity/index.html\n[wasm-docs]: https://robbepop.github.io/runwell/runwell_wasm/index.html\n[ir-docs]: https://robbepop.github.io/runwell/runwell_ir/index.html\n[module-docs]: https://robbepop.github.io/runwell/runwell_module/index.html\n[interpreter-docs]: https://robbepop.github.io/runwell/runwell_interpreter/index.html\n\nThe crates are ordered in the way they depend on each other.\nCrates below might depend on a subset of the crates above them.\n\n## Why WebAssembly?\n\nWebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.\n\nRead more [here](https://webassembly.org/).\n\n### Planned \u0026 Implemented Wasm Proposals\n\n\u003e [x] Means that the feature is either fully implemented or that some implemented foundation already exists.\n\n- [ ] [Import/Export of Mutable Globals][import_export_of_mutable_globals]\n- [x] [Non-trapping float-to-int conversions][non-trapping_float-to-int_conversions]\n- [x] [Sign-extension operators][sign-extension_operators]\n- [x] [Multi-value][multi-value]\n- [x] [Tail call][tail_call]\n- [ ] [Multiple memories][multi-memory]\n\n[import_export_of_mutable_globals]: https://github.com/WebAssembly/mutable-global\n[non-trapping_float-to-int_conversions]: https://github.com/WebAssembly/nontrapping-float-to-int-conversions\n[sign-extension_operators]: https://github.com/WebAssembly/sign-extension-ops\n[multi-value]: https://github.com/WebAssembly/multi-value\n[tail_call]: https://github.com/WebAssembly/tail-call\n[multi-memory]: https://github.com/WebAssembly/multi-memory\n\n## Credits\n\nCredits go to the people behind the [Bytecode Alliance](https://bytecodealliance.org/) for their fantastic\nwork on the WebAssembly specification and work on WebAssembly frameworks, libraries and tooling.\nThis project took a lot of inspiration from projects found under their\n[GitHub Organization](https://github.com/bytecodealliance).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobbepop%2Frunwell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobbepop%2Frunwell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobbepop%2Frunwell/lists"}