Skip to content

dfinity/motoko

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
rts
December 7, 2023 09:31
October 29, 2019 10:12
src
December 7, 2023 09:31
December 7, 2023 09:31
February 23, 2023 21:54
September 11, 2023 12:06
July 11, 2023 10:05
November 25, 2019 16:33

Motoko · GitHub license Tests PRs Welcome

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

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

Related repositories

Community resources

Contribution

See our CONTRIBUTING and CODE OF CONDUCT to get started.