Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 

Repository files navigation

Awesome MoonBit

MoonBit logo

Everything you'll ever need on the road to mastering MoonBit.

A curated list of high-quality MoonBit libraries, frameworks, developer tools, and learning projects. Project names link to their source repositories.

Community

Libraries and Frameworks

Foundations and Testing

  • moonbitlang/core: The MoonBit standard library, installed with the toolchain.
  • moonbitlang/x: The official incubator for experimental standard-library extensions; APIs may change.
  • moonbitlang/async: The official experimental async runtime for files, processes, networking, sockets, and HTTP.
  • moonbitlang/quickcheck: Property-based testing for MoonBit programs.
  • moonbitlang/parser: Experimental AST, parser, configuration parser, and formatting support for MoonBit source.
  • moonbitlang/regexp: A Unicode-aware regular-expression engine with captures and backreferences; the API is still alpha.

Text, Data, and Parsing

Application Development

  • moonbit-community/proton: A framework for native desktop applications with web frontends on Windows, macOS, and Linux.
  • moonbit-community/rabbita: A declarative, functional web UI framework formerly known as Rabbit-TEA.
  • tiye/respo: A compact virtual-DOM library for browser applications.
  • mizchi/luna: An experimental declarative UI toolkit with virtual DOM, hydration, streaming rendering, and SSR/SSG companions.
  • oboard/mocket: A web framework supporting native and JavaScript backends.
  • mizchi/mars: A Hono-inspired web framework with trie routing, middleware, and server-sent events.
  • Yoorkin/rui: Self-contained Vega-style UI components for Rabbita.
  • mizchi/tui: A reactive terminal user-interface library.

Data Structures and Algorithms

  • dowdiness/alga: Algebraic graphs with reusable traversal, cycle, topological-sort, and strongly-connected-component algorithms.
  • dowdiness/incr: Incremental recomputation with automatic dependency tracking and durability-based verification.
  • Luna-Flow/linear-algebra: Checked matrix and vector APIs with mutable and immutable dense representations.
  • Suquster/moonbit-pathfinding: Pathfinding and graph algorithms including BFS, Dijkstra, A*, JPS, contraction hierarchies, and hub labels.

Systems and Interoperability

  • moonbit-community/tty: Low-level native terminal state, standard handles, VT output, and input decoding.
  • moonbit-community/pty: Cross-platform pseudo-terminal spawning integrated with moonbitlang/async.
  • justjavac/ffi: Tested UTF-8 C-string and UTF-16 wide-string conversions for FFI boundaries.
  • illusory0x0/native: Native FFI utilities for pointer arithmetic, C strings and arrays, reference counting, and allocation.
  • mizchi/js: JavaScript bindings for built-ins and browser, Node.js, Deno, and Bun APIs.
  • bikallem/webapi: Type-safe Web Platform API bindings generated from WebIDL for the JavaScript and wasm-gc backends.
  • moonbit-community/sqlite3: Lightweight, low-level bindings that provide a thin interface over the SQLite3 C API.
  • moonbit-community/postgres: A PostgreSQL client library with an included connection pool.
  • mizchi/wit: A parser and resolver for WebAssembly Interface Types.
  • gmlewis/moonbit-pdk: The actively maintained Extism plug-in development kit for MoonBit.

Graphics and Media

  • bobzhang/colors: Color conversion and manipulation across RGB, linear RGB, XYZ, and LUV spaces.
  • mizchi/image: Image codec primitives for PNG, BMP, JPEG, GIF, WebP, ICO, and AVIF, plus resizing.
  • Milky2018/wgpu_mbt: MoonBit bindings for the wgpu-native WebGPU API.
  • Milky2018/moon_rapier: A MoonBit port of the Rapier physics engine.
  • moonbit-community/diago: A diagram toolkit with D2-compatible input, multiple layout engines, and SVG or text output.

Developer Tools

  • Moon: The official build system and package manager.
  • MoonLex: A lexer generator for MoonBit.
  • MoonYacc: An LR(1) parser generator.
  • protoc-gen-mbt: Protocol Buffers code generation and runtime support.
  • tree-sitter-moonbit: The official Tree-sitter grammar for MoonBit.
  • setup-moonbit: A GitHub Action for installing and caching the MoonBit toolchain.
  • moonbit.nvim: MoonBit language support for Neovim.

Showcase and Learning Projects

  • MoonBit Gallery: Editable browser demos including Tetris, Mario, Sudoku, Snake, and WASM-4 examples.
  • Build Your Own MoonBit: An educational implementation of a small MoonBit-like language.
  • wasm5: A WebAssembly virtual machine written in MoonBit.
  • mbtcc: A C11 compiler implemented in MoonBit.
  • MoonbitNES: A Nintendo Entertainment System emulator written in MoonBit.

Documentation and Learning

About

A curated collection of awesome MoonBit tools, frameworks, libraries and articles.

Resources

Stars

151 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors