Skip to content
/ motoko Public

Simple high-level language for writing Internet Computer canisters

License

Notifications You must be signed in to change notification settings

dfinity/motoko

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

22e38e1 · Oct 6, 2021
Aug 24, 2021
Oct 27, 2020
Sep 9, 2021
Sep 24, 2021
Apr 14, 2021
Oct 2, 2021
Sep 30, 2021
Mar 22, 2021
Oct 29, 2019
Sep 28, 2021
Sep 28, 2021
May 19, 2021
Oct 29, 2019
Jun 9, 2021
Aug 25, 2021
Sep 9, 2021
Aug 24, 2021
Sep 23, 2021
Jan 17, 2020
Jan 17, 2020
Jun 11, 2021
Mar 11, 2021
Aug 23, 2021
Aug 17, 2021
Oct 6, 2021
Aug 24, 2021
Sep 7, 2021
Nov 25, 2019

Repository files navigation

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