Mote is a systems-programming language designed to be practical, performant, and simple.

Overview

Logo

Mote

Discord GitHub issues GitHub Repo stars Lines of code GitHub closed issues Codacy branch grade

NOTE: this following lists the goals for what Mote is supposed to be. It does not promise that any of the features here will be accomplished or are currently implemented. Check out the roadmap at the bottom of the page to see where we are at.

Mote is a systems-programming language designed to be practical, performant, and simple:

  • statically- and strongly-typed.
  • zero-cost abstractions.
  • complete top-level immutability.
  • no null, and explicit handling of empty values.
  • implicit (and explicit) iniling of structures and functions.
  • iterative-over-recursive optimization (similar to tailcall optimization).
  • minimal / no overhead memory management.
  • consistency and simplicity.
  • unobtrusive static-checking.
  • platform independency, i.e., your code will compile and run on any computer.

Docs Discord

FAQ

Where does the name come from?

"Mote" comes from the French word, for "word", "mot". We decided to derive the name from this word for multiple reasons: words are expressive, fast, and light.

motelang/mote

Crates

  • mote - the main Mote application; bundles all the following modules.
  • mote_api - APIs for extending the Mote programming language.
  • mote_analyzer - performs analysis: optimizations, type-checking, borrow-checking.
  • mote_builtin - defines Mote builtins.
  • mote_comptime - lowers Mote compile-time functions.
  • mote_error - provides APIs for sending pretty error messages.
  • mote_ir - provides types for expressing Mote programs at all levels.
  • mote_llvm - compiles Mote code to LLVM (native).
  • mote_parser - lexes and parses Mote code.

Building

  • Fork this project.
  • cd /mote.
  • cargo build.
  • Add the LLVM_SYS_110_PREFIX environmental variable pointing to your LLVM 11 installation.

Roadmap

  • Basic +-*/ mathmetical expressions.
  • Hello, world!
    • strings
    • external functions
  • Fibonacci
    • control flow
You might also like...
A simple programming language for something between C and Rust.

inuc inuc is a systems programming language that is something between C and Rust. Features : [] Strong , static typing (type inference not a priority

CloudLLM is a Rust library designed to seamlessly bridge applications with remote Language Learning Models (LLMs) across various platforms.
CloudLLM is a Rust library designed to seamlessly bridge applications with remote Language Learning Models (LLMs) across various platforms.

CloudLLM CloudLLM is a Rust library designed to seamlessly bridge applications with remote Language Learning Models (LLMs) across various platforms. W

A simple programming language, created for AP Computer Science

A simple programming language, created for AP Computer Science

High Assurance Rust - A free book about developing secure and robust systems software.

High Assurance Rust - A free book about developing secure and robust systems software.

A recommender systems framework for Rust

Quackin Release the quackin! 🦆 Quackin is a recommender systems framework written in Rust. This is a young project, which means two things: There wil

Key-value store for embedded systems, for raw NOR flash, using an LSM-Tree.

ekv Key-value store for embedded systems, for raw NOR flash, using an LSM-Tree. Features None yet TODO Everything Minimum supported Rust version (MSRV

A collection of comparison-benchmarks for Nova & related Proving systems

Nova benchmarks Here's a list of some of the benchmarks we've been taking to better understand how Nova performs vs other proof systems. Live version:

Orion lang is a lispy programming language that is strongly and statically typed.
Orion lang is a lispy programming language that is strongly and statically typed.

Orion Orion is a lisp inspired statically typed programming language written in Rust Install To install orion you can either: Download binary from the

lints and suggestions for the nix programming language

statix Lints and suggestions for the Nix programming language. statix highlights antipatterns in Nix code. statix --fix can fix several such occurrenc

Owner
The Mote Programming Language
Mote is a systems-programming language designed to be practical, performant, and simple.
The Mote Programming Language
Portable linked-list allocator designed for baremetal systems

Palloc Portable linked-list allocator for embedded / baremetal systems. Using the crate Include this in the [dependencies] section of Cargo.toml pallo

Pietro 3 Jan 11, 2022
The Devils' Programming Language (Quantum Programming Language)

devilslang has roots in Scheme and ML-flavored languages: it's the culmination of everything I expect from a programming language, including the desire to keep everything as minimalistic and concise as possible. At its core, devilslang is lambda-calculus with pattern-matching, structural types, fiber-based concurrency, and syntactic extension.

Devils' Language 2 Aug 26, 2022
Voluntarily contributed solutions for the first practical exercise for the Compilerbau lecture WiSe 2021/2022 of Ulm University

Solutions for the first practical exercise Compilerbau lecture WiSe 2021/2022 - Ulm University Contributing Want to add your solution? Great! Just add

null 5 Dec 4, 2021
Simple and performant hot-reloading for Rust

reloady Simple, performant hot-reloading for Rust. Requires Rust nightly and only works on Linux for now. installing CLI To install the CLI helper car

Anirudh Balaji 24 Aug 5, 2022
A set of Zero Knowledge modules, written in Rust and designed to be used in other system programming environments.

Zerokit A set of Zero Knowledge modules, written in Rust and designed to be used in other system programming environments. Initial scope Focus on RLN

vac 44 Dec 27, 2022
Rust-idiomatic, compliant, flexible and performant BIP21 crate

Rust implementation of BIP21 Rust-idiomatic, compliant, flexible and performant BIP21 crate. About Important: while lot of work went into polishing th

Martin Habovštiak 6 Dec 15, 2022
A highly performant HTTP bittorrent tracker (WIP)

kiryuu Rewrite of kouko in Rust, for better performance! Kiryuu powers http://tracker.mywaifu.best:6969/announce Thanks Many thanks to horsie and anon

Raghu Saxena 6 Dec 15, 2022
A repository for showcasing my knowledge of the Rust programming language, and continuing to learn the language.

Learning Rust I started learning the Rust programming language before using GitHub, but increased its usage afterwards. I have found it to be a fast a

Sean P. Myrick V19.1.7.2 2 Nov 8, 2022
Nyah is a programming language runtime built for high performance and comes with a scripting language.

?? Nyah ( Unfinished ) Nyah is a programming language runtime built for high performance and comes with a scripting language. ??️ Status Nyah is not c

Stacker 3 Mar 6, 2022
lelang programming language is a toy language based on LLVM.

lelang leang是一门使用Rust编写,基于LLVM(inkwell llvm safe binding library)实现的编程语言,起初作为课程实验项目,现在为个人长期维护项目。 Target Features 支持8至64位的整形类型和32/64位浮点 基本的函数定义,调用,声明外部

Aya0wind 5 Sep 4, 2022