[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5747":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},5747,"lunatic","lunatic-solutions\u002Flunatic","lunatic-solutions","Lunatic is an Erlang-inspired runtime for WebAssembly","https:\u002F\u002Flunatic.solutions",null,"Rust",4872,147,63,40,0,4,16,1,28.51,"Apache License 2.0",false,"main",true,[26,27,28,5,29,30,31,32,33],"actors","assemblyscript","erlang","runtime","rust","vm","wasm","webassembly","2026-06-12 02:01:14","\u003Cdiv align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Flunatic.solutions\u002F\" target=\"_blank\">\n        \u003Cimg width=\"60\" \n             src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Flunatic-solutions\u002Flunatic\u002Fmain\u002Fassets\u002Flogo.svg\"\n             alt=\"lunatic logo\"\n        >\n    \u003C\u002Fa>\n    \u003Cp>&nbsp;\u003C\u002Fp>\n\u003C\u002Fdiv>\n\nLunatic is a universal runtime for **fast**, **robust** and **scalable** server-side applications.\nIt's inspired by Erlang and can be used from any language that compiles to [WebAssembly][1].\nYou can read more about the motivation behind Lunatic [here][2].\n\nWe currently provide libraries to take full advantage of Lunatic's features for:\n\n- [Rust][3]\n- [AssemblyScript][11]\n\nIf you would like to see other languages supported or just follow the discussions around Lunatic,\n[join our discord server][4].\n\n## Supported features\n\n- [x] Creating, cancelling & waiting on processes\n- [x] Fine-grained process permissions\n- [x] Process supervision\n- [x] Channel based message passing\n- [x] TCP networking\n- [x] Filesystem access\n- [x] Distributed nodes\n- [ ] Hot reloading\n\n## Installation\n\nIf you have rust (cargo) installed, you can build and install the lunatic runtime with:\n\n```bash\ncargo install lunatic-runtime\n```\n\n---\n\nOn **macOS** you can use [Homebrew][6] too:\n\n```bash\nbrew tap lunatic-solutions\u002Flunatic\nbrew install lunatic\n```\n\n---\n\nWe also provide pre-built binaries for **Windows**, **Linux** and **macOS** on the\n[releases page][5], that you can include in your `PATH`.\n\n---\n\nAnd as always, you can also clone this repository and build it locally. The only dependency is\n[a rust compiler][7]:\n\n```bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002Flunatic-solutions\u002Flunatic.git\n# Jump into the cloned folder\ncd lunatic\n# Build and install lunatic\ncargo install --path .\n```\n\n## Usage\n\nAfter installation, you can use the `lunatic` binary to run WASM modules.\n\nTo learn how to build modules, check out language-specific bindings:\n\n- [Rust](https:\u002F\u002Fgithub.com\u002Flunatic-solutions\u002Frust-lib)\n- [AssemblyScript](https:\u002F\u002Fgithub.com\u002Flunatic-solutions\u002Fas-lunatic)\n\n## Architecture\n\nLunatic's design is all about spawning _super lightweight_ processes, also known as green threads or\n[go-routines][8] in other runtimes. Lunatic's processes are fast to create, have a small memory footprint\nand a low scheduling overhead. They are designed for **massive** concurrency. It's not uncommon to have\nhundreds of thousands of such processes concurrently running in your app.\n\nSome common use cases for processes are:\n\n- HTTP request handling\n- Long running requests, like WebSocket connections\n- Long running background tasks, like email sending\n- Calling untrusted libraries in an sandboxed environment\n\n### Isolation\n\nWhat makes the last use case possible are the sandboxing capabilities of [WebAssembly][1]. WebAssembly was\noriginally developed to run in the browser and provides extremely strong sandboxing on multiple levels.\nLunatic's processes inherit these properties.\n\nEach process has its own stack, heap, and even syscalls. If one process fails, it will not affect the rest\nof the system. This allows you to create very powerful and fault-tolerant abstraction.\n\nThis is also true for some other runtimes, but Lunatic goes one step further and makes it possible to use C\nbindings directly in your app without any fear. If the C code contains any security vulnerabilities or crashes,\nthose issues will only affect the process currently executing the code. The only requirement is that the C\ncode can be compiled to WebAssembly.\n\nIt's possible to give per process fine-grained access to resources (filesystem, memory, network connections, ...).\nThis is enforced on the syscall level.\n\n### Scheduling\n\nAll processes running on Lunatic are preemptively scheduled and executed by a [work stealing async executor][9]. This\ngives you the freedom to write simple _blocking_ code, but the runtime is going to make sure it actually never blocks\na thread if waiting on I\u002FO.\n\nEven if you have an infinite loop somewhere in your code, the scheduling will always be fair and not permanently block\nthe execution thread. The best part is that you don't need to do anything special to achieve this, the runtime will take\ncare of it no matter which programming language you use.\n\n### Compatibility\n\nWe intend to eventually make Lunatic completely compatible with [WASI][10]. Ideally, you could take existing code,\ncompile it to WebAssembly and run on top of Lunatic; creating the best developer experience possible. We're not\nquite there yet.\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\nat your option.\n\n[1]: https:\u002F\u002Fwebassembly.org\u002F\n[2]: https:\u002F\u002Fkolobara.com\u002Flunatic\u002Findex.html#motivation\n[3]: https:\u002F\u002Fcrates.io\u002Fcrates\u002Flunatic\n[4]: https:\u002F\u002Fdiscord.gg\u002Fb7zDqpXpB4\n[5]: https:\u002F\u002Fgithub.com\u002Flunatic-solutions\u002Flunatic\u002Freleases\n[6]: https:\u002F\u002Fbrew.sh\u002F\n[7]: https:\u002F\u002Frustup.rs\u002F\n[8]: https:\u002F\u002Fgolangbot.com\u002Fgoroutines\n[9]: https:\u002F\u002Ftokio.rs\n[10]: https:\u002F\u002Fwasi.dev\u002F\n[11]: https:\u002F\u002Fgithub.com\u002Flunatic-solutions\u002Fas-lunatic\n","Lunatic 是一个受 Erlang 启发的 WebAssembly 运行时，专为快速、稳健和可扩展的服务器端应用设计。它支持从任何能编译成 WebAssembly 的语言中使用，并提供了创建、取消及等待进程等功能，同时具备细粒度的进程权限管理、进程监督、基于通道的消息传递、TCP 网络通信、文件系统访问以及分布式节点等特性。Lunatic 通过利用 WebAssembly 的沙箱能力，在处理 HTTP 请求、长连接如 WebSocket、后台任务如邮件发送以及在隔离环境中调用不可信库等方面表现出色。其架构特别适合需要高并发处理能力和强隔离性的应用场景。",2,"2026-06-11 03:04:57","top_language"]