paulyoung / motoko

Simple high-level language for writing Internet Computer canisters

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Motoko

A simple language for writing Internet Computer (IC) actors.

User Documentation & Samples

Introduction

Motivation and Goals

  • 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

Key Design Points

  • 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

About

Simple high-level language for writing Internet Computer canisters

License:Apache License 2.0


Languages

Language:OCaml 57.6%Language:Swift 26.3%Language:Rust 5.4%Language:Haskell 3.4%Language:TeX 1.8%Language:Nix 1.8%Language:Shell 1.2%Language:Makefile 0.7%Language:JavaScript 0.7%Language:Emacs Lisp 0.4%Language:Perl 0.2%Language:Python 0.2%Language:sed 0.1%Language:WebAssembly 0.1%Language:C 0.0%Language:HTML 0.0%Language:Standard ML 0.0%