Skip to content

whitecrow0109/motoko

 
 

Repository files navigation

Motoko · GitHub license Tests PRs Welcome

A safe, simple, actor-based programming language for building Internet Computer (ICP) canister smart contracts.

Motoko Logo

User Documentation & Samples

Introduction

Motivation and Goals

  • High-level programming language for ICP smart contracts

  • Simple design and familiar syntax

  • Convenient support for the actor model

  • Good fit for underlying Wasm and ICP execution model

Key Design Points

  • Object-based language with actors, classes, modules, etc. 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

Related Repositories

Community Resources

Contributing

See our contribution guidelines, code of conduct and build instructions to get started.

About

Simple high-level language for writing Internet Computer canisters

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • OCaml 48.7%
  • Swift 29.8%
  • Rust 15.7%
  • Haskell 1.7%
  • Nix 1.0%
  • TeX 0.9%
  • Other 2.2%