Motoko ·
![PRs Welcome](https://github.com/camo/d88d8d77fa79e828eea397f75a1ebd114d13488aeec4747477ffbd2274de95ed/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d627269676874677265656e2e737667)
A safe, simple, actor-based programming language for authoring Internet Computer (IC) canister smart contracts.
- Building, installing, and developing on Motoko.
- Overview.
- Small samples.
- Language manual.
- Concrete syntax.
- Documentation sources.
- Base library documentation.
- Motoko-san: a prototypical deductive verifier.
-
High-level language for programming IC applications
-
Simple ("K.I.S.S.") design and familiar syntax for average programmers
-
Good and convenient support for actor model
-
Good fit for underlying Wasm and IC execution model
-
Anticipate future extensions to Wasm where possible
-
Simple class-based OO language, objects as closures
-
Classes can be actors
-
Async construct for direct-style programming of asynchronous messaging
-
Structurally typed with simple generics and subtyping
-
Overflow-checked number types, explicit conversions
-
JavaScript/TypeScript-style syntax but without the JavaScript madness
-
Inspirations from Java, C#, JavaScript, Swift, Pony, ML, Haskell
- Base library
- Vessel package manager
- Example projects
- Motoko Playground · (online IDE)
- Embed Motoko code snippets · (online interpreter)
- VS Code extension · (install)
- Browser and Node.js bindings · (npm package)
- Awesome Motoko
- Blocks - an online low-code editor for Motoko
- MOPS - a Motoko package manager hosted on the IC
- Motoko Bootcamp · (YouTube channel)
- Motoko library starter template
See our CONTRIBUTING and CODE OF CONDUCT to get started.