MoonBit Beta Preview Release - Celebrating our 1st birthday!
After a year of rapid iteration, we've built a language with 1.0-level features and an AI-powered toolchain. 🌟 🚀
What has MoonBit achieved as an AI & cloud-native platform? ☁🤖
👇 Read more
Beyond Wasm, MoonBit now supports
#JavaScript
backend!🤩
Up to 25x faster than native JS, and nearly 8x faster than Json5🚀🚀
How it’s possible? Read our latest blog👇
🚀MoonBit’s build system, Moon, is now open source!
🌠 Outpacing Rust🦀 Cargo & Go build tools, Moon offers blazing speed with parallel builds and integrated testing.
🧑🚀Get ready to build with Moon!
✨Introducing Moonbit: Fast compilation, Compact Wasm output, and easy learning. Revolutionize your coding with
🎥 Explore the video below to unlock super cool language features
▪️Inlay hints
▪️Completion
▪️Signature Help
▪️Go to references/definition
🎉A huge thanks to
@gmlewis_me
for writing an
@extism
PDK for
@moonbitlang
! 🙌✨Leveraging MoonBit's
#wasm
-native strengths, this PDK allows seamless compilation to WebAssembly and smooth execution in Extism Host environments. Incredible work!🌐⬇️
🆕 MoonBit New Syntax: Cascade Operator
✨ Introducing the “..” operator, designed to enable elegant chaining of mutable API calls. Keep your API signatures clean while still returning Unit, making your code more readable and efficient.
🎊MoonBit now supports the Wasm Component Model!🌐
🔝We’ve slashed the 'Hello World' HTTP server size to just 27KB—much smaller than
@rustlang
🔬Ready to explore its unlimited uses on
@wasmcloud
, Spin
@fermyontech
and more
👇Check our working example:
🧩 MoonBit now natively supports JSON handling with overloaded literals!
🛰️ Enjoy flexible and safe JSON parsing and transformation, combining the best of dynamic and static languages. Check it out!
🌟MoonBit project showcase🌟
Our keen community member has built a NES emulator with MoonBit which supports more than 10 classic games🤩! Well done!
🕹️Play with it:
Today, we are celebrating our one-year anniversary🎉
We've achieved so much in such a short time: a modern programming language with a sophisticated compiler, a cloud-first IDE with real-time feedback, a fast build system, and more to come!
See our incredible live coding demo👇
@matthewcp
Absolutely, keeping wasm size small is a priority for MoonBit. We're well aware of the issues that come with bloated binaries, and that's exactly why we've focused on optimizing for compactness. We have test result to show how effective our optimizations are👇
Thanks,
@mizchi
, for writing another blog introducing MoonBit to our Japanese community!
日本のコミュニティにMoonBitを紹介するためにもう1つのブログを書いていただきまして、感謝しています。
English version:
🎉Thrilled to announce our paper MoonBit: Explore the Design of an AI-Friendly Programming Language got accepted for LLM4Code 2024!
🌟Dive into the details on our blog:
Plus, experience MoonBit AI firsthand with our demo at
Thanks to
@mizchi
for this excellent blog: MoonBit: A Prototype Ideal for the WebAssembly Era 👏
We are always excited to hear your voice of comment and feedback from
#MoonBit
community! 🩷
MoonBit now supports bindings for WASM-4, the retro game framework using WebAssembly! 🎮✨
Follow the step-by-step guide in our latest blog to create your first game with MoonBit. Have fun! 🕹️👾
MoonBit toolchain gets you debugging in seconds!⚡
In the latest version of MoonBit, simply run `moon run --target js --debug` in the JavaScript Debug Terminal to jump right into debug mode. 🔧
✨ Try it now:
MoonBit now supports labelled arguments for constructors, making manipulation of complex data structure elegant and highly readable😉
✨Try it yourself? Visit:
#MoonBit
#programming
#code
MoonBit🌕 new for loop syntax is here, making coding more concise and eliminating the need for intermediate variables. Plus, the generated WASM now leverages multi-value features for smaller, more efficient code! 💻✨
🎉Thrilled to announce our paper MoonBit: Explore the Design of an AI-Friendly Programming Language got accepted for LLM4Code 2024!
🌟Dive into the details on our blog:
Plus, experience MoonBit AI firsthand with our demo at
MoonBit IDE plugins now enable multi-backend development, as MoonBit expands its support for additional backends like JavaScript. Users can choose different backends within VSCode. For inactive backends, the code contrast will decrease.
MoonBit JS support:
🙌The MoonBit open course has released 6 chapters covering the basics of data structures and algorithms in functional programming.
📝Read our online textbook to start your MoonBit learning journey, and join our Discord for early feedback!
🌟Community Showcase🌟
Today, we're sharing Mocket, a web framework for MoonBit by our core contributor
@oboardream
.
Mocket elegantly leverages MoonBit's type inference and native JSON handling—a great experiment in MoonBit web development.
Check it out:
@ThePrimeagen
If you are looking for Rust + Go, MoonBit is a Rust-like language (with GC support) and toolchain optimized for WebAssembly. Last week we supported JavaScript backend, and achieved the speed of 25x faster than native JS.
We’d like to hear your thoughts🩷
New to MoonBit and ready to learn👩💻? Here is our MoonBit course preview for fresh learners!
🌟Check the first 3 chapters as the starter, and join our Discord and forum for early feedback!
🗓️Full course docs and videos will be released in summer.
This week MoonBit🌕 big update: pattern matching support for Map & HashMap🗺
⚡Generate efficient code: each key queried only once!
Write cleaner, faster code with less effort🚀
🌟New in MoonBit: `for .. in` loop support!
🔄Loop over collection & sequence with speed and idiomatic syntax, combining functional elegance with practical performance. Perfect for clean, efficient code!
🎆Happy 2024!
Here's the latest from
@moonbitlang
:
🔧We enhanced method/trait system for improved robustness.
➕New 'sqrt' function for square root calculations
🔍Added '===' operator for referential equality checks
Explore more👉
🎉MoonBit is now supported in the AI-powered IDE,
@MarsCode_Team
with single file debugging. 🆕
✨In MarsCode cloud IDE, select MoonBit template and start your project with a powerful builtin AI assistant. 🔧
Experience now:
MoonBit Update
✨Major Upgrade: Our native VS Code plugin now runs moon check --watch AUTOMATICALLY! A user-friendly leap forward!
-Enhanced while loops with new iteration expressions.
-Say goodbye to `id := expr`. Use `let id = expr` now.
Discover more👉
🌟Last week was full of exciting progress:
-Added moon build --debug option
-Adjusted the output directory of moon build
-IDE now allows custom runtime with JavaScript
-Boosted tokenization performance by 25%
🔍Want more details? Dive into our forum:
🌟Exciting Updates from MoonBit!
-Support for Bitwise Operations in Int64
-Added reinterpret Support between Int64 and Float Data Types
-MoonBit gallery added the Tetris game
For more information, please visit our forum:
🚀Stay ahead with MoonBit!
Last week at MoonBit, we hit two major milestones:
✨
#WasmGC
supported now with 'moon build --target wasm-gc’
🔍 We've made impressive strides in source debugging support.
Curious for more? Check out our forum for the full scoop:
Stay ahead with MoonBit🚀
🌟MoonBit now supports mutable fields in constructors!
With just one level of pointers in the memory layout, our enum constructors enable efficient implementation of imperative data structures.
Check the case below and see how to do in-place swaps with no extra memory allocation.
🚀Major progress from MoonBit!
This week, we're unveiling some exciting features:
-Supported compilation to
#wasm
gc
-Faster parser and better error recovery
-Improved dead code elimination
Visit our forum:
📷Stay tuned for weekly awesomeness!
🤔How about a testing experience better than OCaml🐫 and Rust🦀?
We are proud to introduce our new testing tool: expect testing🎉
Check out our latest blog and see how
@moonbitlang
can make your testing a joyful experience.
Explore
#wasm
debugging advancements with
@moonbitlang
!
🌟Currently, we support source mapping and setting breakpoints based on the source code.
🚀Follow us and be the first one to try it out!
See how in our latest video👇
🚀Get ready for our recent update!
What's new:
-Introducing a handwriting syntax parser
-Crafting a standard library
-Integration with the upcoming Wasm GC proposal
-Added support for UTF-8 string print output
For more information, please visit our forum:
Introducing Moonbit❤️AI: The programming language designed for AI era
🔍Explore the Distinctive Features of Moonbit AI:
-Generate correct code with interactive static analysis
-Real-time code modifications follow your instructions
📺Watch the video now to discover more!
🌟The latest MoonBit update is here!
-Thanks to the community feedback, top-level functions now use "fn", and "Float64" is now "Double".
-moon.pkg & moon.mod are now in JSON format.
-Mac/Intel supported
For more details, visit:
😊Stay ahead with MoonBit!
😃Don't miss out on the latest from Moonbit!
This week, we've got some exciting enhancement:
-support for externref
-performance optimization for moon run……
For all the juicy details, head over to our forum:
Stay ahead with Moonbit! 🚀
#moonbitlang
MoonBit IDE now supports test codelens for local environments and automatic updates for expect test. No need to write commands, but simply click the "Run Test | Update Test" button to achieve millisecond-level compilation, with almost no waiting time for a response🚀
Preview👇
🚀 Exciting News from MoonBit!
-Long-Awaited Feature🌟: type-based auto deriving for Eq, Compare, Show, and Default
-Allowed use '_' to ignore unused variable warnings
-More friendly error messages
-Added the Mario Game🎮
👉Dive into our latest updates:
🌕
@moonbitlang
MoonBit Weekly Update Vol.39🚀
🔥MoonBit now supports JavaScript backend
💡Plugins and build system now support multi-backend development.
💻moonrun switched to V8, supporting the wasm-gc backend.
More:
🚀Exciting Updates from
@moonbitlang
🔔New features: Introducing Trait Object for dynamic function dispatch & Pipeline Operator for smoother coding without 'let name = ....'
🌟Plus: Hexadecimal support in strings with \\xFF
Discover more at👉
🤠Ready for the latest Moonbit weekly update?
This week, we're unveiling some exciting features:
-Supports unboxed float
-New Bytes Built-in Type
-User-defined interface
Head over to our forum for all the info:
🚀Stay ahead with Moonbit!
#moonbitlang
This week
@moonbitlang
:
🧙♂️Syntactic sugar for matrix functions - Define local and anonymous functions with using pattern matching
📝Introducing T::{ ... } for streamlined record construction
🆕Embrace the new testing syntax test "name" {}
Explore more👉
MoonBit Tutorial: Myers diff Part.3
After exploring the Myers algorithm in part 1&2, this tutorial will guide you how to implement a variant of the Myers algorithm that operates with linear space complexity.
#programming
#tutorial
⏰MoonBit Update Alert!
This Week's Highlights:
-Faster top-level function compilation (~14% boost)
-Better error recovery and reporting
-More accurate dead code analysis
🔍Join the conversation and explore more in our forum:
🌕MoonBit Weekly Update Vol.45🚀
🔎MoonBit now supports error handling!
🗺️Support `Map` literal syntax.
📦 The build system now supports internal packages.
Full update:
🧑🎄Merry Christmas🎄
Final 2023 Update for MoonBit:
✨Changed `interface` to `trait` based on feedback
📚New: moon doc for doc generation & preview
❓Added `?` operator for easier error handling
🔍moon check now has an auto-start option
👉Discover more:
🌟Welcome to the MoonBit Tutorial!
📺In this video, we will show you how to get started with MoonBit easily, including how to download MoonBit, create a project using MoonBit, and run a project with MoonBit.
🚀Don't miss out! Watch now and dive into the MoonBit universe!
🌟MoonBit AI-Powered IDE Streamlines Your Workflow
Click the MoonBit icon in our online IDE to activate an AI assistant that generates inline tests✅, documentation📄, and code explanations💡.
Focus on building while MoonBit handles the rest.
Try it now:
👀Dive into the video below to explore 𝐜𝐥𝐨𝐮𝐝-𝐧𝐚𝐭𝐢𝐯𝐞 𝐝𝐞𝐛𝐮𝐠𝐠𝐢𝐧𝐠 with
@moonbitlang
!
🌐Simply visit & utilize your browser's devtools for direct MoonBit program debugging. No installations required.
⌨️Start your coding journey today!
This week, we introduced 2 significant types to MoonBit standard library.
1️⃣The ‘Iter’ type: You can efficiently access elements in a container and optimizes the access process into a loop, attaining zero-cost iteration with flawless pattern matching support for dynamic arrays.
🌕 What's new
@moonbitlang
:
🚀 moonbitlang/core is now open-source
🆕 Labeled and optional arguments are supported
👨💻 New builtin types
🛠 Enhanced stability and more for IDE, Build System, and Toolchain
Details:
#MoonBit
#code
#development
🚀Latest from
@moonbitlang
:
🌟We have introduced `let mut id = expr` to replace `var id = expr`- thanks to your feedback!
-Officially switched from `interface` to `trait` .
-MoonBit AI (pre-alpha) now available at .
More info👉
🌟Error Handling in MoonBit
- Type-safe, easy-to-use, without the verbosity of Java’s checked exceptions.
- With precise control flow analysis, MoonBit’s exceptions compile to efficient code with just one jump.
Check out the guide👇
In MoonBit IDE, the main function now features Run | Debug Codelens for quick execution and debugging 🐞 One step forward in enhancing the debugging experience💫
Online IDE:
Note: Quick debugging currently supports the JavaScript backend only
🌟New
@moonbitlang
updates:
-Now you can debug directly in your browser at , no install required.
-Enhanced 'for' loops: purely functional yet as efficient as C
-Inline Test revamp: now with 'Result[Unit, String]'
👉 Details:
🎉Happy Holidays!
🧐Explore MoonBit Live Coding: Real-time Mario customization!
Adjust jump heights, create multiple characters, and even change the ending logic for an exciting adventure.
Curious? Start your personal Mario adventure in our gallery now!
👉
🚀Exciting news! Last Friday, we made our Twitter debut, and your positive feedback has us pumped!
🙌We decide to post our weekly updates to let you know our newest activities.
🌐Get ready? Dive into the details on our forum .
🌟Community Showcase🌟
Check out the experimental Spin
@spinframework
SDK for MoonBit by
@gmlewis_me
🎉Well done!
By embracing component models, MoonBit now boosts cloud computing efficiency, offering greater flexibility, security, and cost savings🚀
🆕What's fresh with MoonBit this week?
-Added builtin package support
-VS Code extension now supports auto-completion of packages
-Hover Highlighting
Dive into the details on our forum:
✨Stay tuned for weekly awesomeness!
#moonbitlang
🌟 This Week's MoonBit Highlights:
-MoonBit Debugger is now available for public testing!
-Enhanced enum data type layouts
-Non-nullable reference types at function boundaries
-Removed 'name' field from moon.pkg.json
Learn more 👉
🌕MoonBit Weekly Update Vol.51🚀
🎯 Added support for JSON literals
🧪 Simplified the syntax for error handling
🧩 Run | Debug buttons for single .mbt file
Visit our discord for full update and discuss:
🌟Learn how to use Moonbit to build the game of life, inspired by
@WoonkiMoon
's amazing endeavor last week! Whether you're a coding newbie or a pro, our blog is your gateway to endless coding adventures! 🧑💻 Dive in and explore the magic!
🔗Blog Link:
🥳Today, April 19, 2024, MoonBit core compiler has reached a milestone of 10,000 commits in just a year and a half!
Big applause👏 to our excellent MoonBit team and passionate community!
More exciting news coming your way soon!
🚀Big updates from
@moonbitlang
!
🎉Now supporting +=, -=, *=, /= for variable mutations & coding elegance with our new Super Trait feature
🌟Plus, quick array init with T::[x, y, ...] & Markdown gets a boost in our IDE
Explore now:
📚 Today, MoonBit tutorial comes to the final episode of implementing Haskell’s G-machine with MoonBit!
🔎 We’ll walk you through how to achieve context-based optimization and add support for data structures with MoonBit.
🌕
@moonbitlang
Weekly Update 🚀
📝 Experimental support for default method in trait
💻 Support for autocompletion of moonbitlang/core
🔧 New test_import field in moon.mod.json.
Stay ahead with
#MoonBit
updates:
#Programming
#MoonBitWeekly
🌕MoonBit Weekly Update Vol.47🚀
🎨Enabled simplifying the type prefix for enum constructor.
🔢New `UInt64` built-in type.
🛠️Unified the function style for creating container objects.
Full update:
🌕MoonBit Weekly Update Vol.53🚀
🔄 Supported `for .. in` loops based on `Iter` and `Iter2` types
🔢 Added `BigInt` type for handling large numerical values
🤖 MoonBit AI new feature: generating code explanations
Visit our discord for full update:
🌕MoonBit Weekly Update Vol.49🚀
🆕 Introduce new syntax: Cascade Operator.
🗑️The
@package
.Type::[...] syntax has been removed.
⚙️Testing mechanism is adjusted to encourage black-box tests.
Full update:
⚡MoonBit AI Now Supports Real-time Testing⚡
This is how your AI-assisted coding workflow should be. Code generation, testing, and execution, all in one with MoonBit AI🚀
Try MoonBit AI:
🚀Discover the latest Moonbit updates!
✨What's new:
- Unboxed int64 support
- Change Built-in method print[T : Show](t : T)
- Directly print bool type data with print and println
For more details, visit our forum:
Stay tuned for weekly awesomeness!
🌕
@moonbitlang
Weekly Update Vol.41🚀
🔄Breaking change: Rename Array➡️FixedArray and @ vec.Vec➡️Array
💡Add pattern matching support for Map, HashMap
🆕New library moonbitlang/x for packages with unstable APIs
Full update:
#MoonBit
@mizchi
こんにちは😃MoonBit is a Rust-like programming language and toolchain optimized for WebAssembly. We will open sourse more interesting stuff this year. for more information, please visit:
📚This week, we're happy to launch MoonBit open course chapters 7-10!
🖥️After mastering functional programming, we're moving on to imperative programming and mutable data.
✨MoonBit toolchain+open course can make your language learning easier than ever!
Compile regular expressions to efficient state machine using ��derivative”, with no more than 300 lines of elegant MoonBit code.
✨Ready to experience coding magic? Try it now at !
🌕
@moonbitlang
Weekly Update Vol.42🚀
🔧Restructure MoonBit Core library APIs.
💻Optimize performance for the Option[T] type
⚡️Introduce `fn panicT -> T` function in the core library.
Full update:
This week at
@moonbitlang
✨New inline testing mechanism - simply declare with 'fn test_*'
🔧Fixed various bugs in the formatter & solved missing braces/parentheses issues
🔍'moon new' now has default option values - just hit Enter!
Explore more details👉
🌕
@moonbitlang
MoonBit Weekly Update Vol.37🚀
🎉moonbitlang core has received more than 200 repositories
💻MoonBit supports pattern matching for Vec.
💡Added (experimental) test coverage tools
For more information and share your thoughts:
#MoonBitWeekly
🌕MoonBit Weekly Update Vol.44🚀
🔥MoonBit now supports Wasm1 Perceus GC!
💻`throw`, `raise`, `try`, and `catch` are reserved for future updates.
📦`List` and `sorted_map` have been moved to `core/immut`.
Full update:
👋Ever wondered who's behind the magic of Moonbit? Meet the brains of our team and follow our forum and discord .
🚀Let's dive into the Moonbit universe!
Your contribution gets recognized!
We’ll gratefully present our first 100 PR contributors with:
✨MoonBit Contributor Certificate
✨Website listing
✨Priority access to new features
[Details in pic]
Join the
#MoonBit
community and shape our future!
🌕MoonBit Weekly Update Vol.43🚀
🆕New syntax T? for type annotations
🔧Core library API restructuring continues
🚀Apply closure conversion to improve performance
Full update:
🌕
@moonbitlang
MoonBit Weekly Update Vol.38🚀
🔥Attain zero-cost iteration with flawless pattern matching support for dynamic arrays.
💡The constructor now supports labelled arguments.
💻IDE supports test codelens for local environments.
More information:
Thanks for the coverage
@thenewstack
❤️
MoonBit aims to build an AI-driven cloud and edge developer platform with multiple backend support, and we’re proud of our compact language and toolchain design💫
🌕MoonBit Weekly Update Vol.54🚀
✨MoonBit now reaches Beta preview
🔍Improved Error type printing
☁️Online IDE supports multi-package editing
Visit discord for more:
*As MoonBit reaches pre-beta, update posts will be adjusted to once every two weeks.
✨What’s news with MoonBit:
-Experimental windows support
-Added “Js_string” type
-Double now supports the “to_string” method
-Unboxing optimization for single immutable field struct
For more information, please visit our forum:
Stay ahead with MoonBit🚀