Skip to content

MotionLang/motion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Motion ↗️:

Motion is a dynamically typed general purpose programming language designed to help developers write fast, clean, and efficient code for a modern world.

Motion is created in pure ANSI C, with no dependancies.

Motion is a variation of the Lox language found at www.craftinginterpreters.com and is licensed under GNU GPL v3.0.

Syntax

Motion's syntax aspires to be fresh, readable, and clean.

## Comments are cool.

var x; ## Declared variables are set to nil.
var y => 10; var z => 2;
## ^^^^ Multiline statements with ";"

print x * y;

func add(a, b) => {
	var new => (a + b);
	print new;
	return new;
}

For more examples, see examples

Why Motion?

  • 🚀 Motion is Speedy.

    • On benchmarks, Motion is almost twice as fast as a similar python program!
  • 💡 Motion is Simple.

    • Motion has a familiar, welcoming syntax. Everything "just works".
  • 🔒 Motion is Safe.

    • A secure bytecode VM and JIT Compiler means safety issues are far and few.
  • 💾 Motion is Small.

    • No external dependancies and pure C means Motion is tiny, fitting at 130KB. That's small enough to fit on a floppy disk!

Contribution

See Contribution

Features

Motion supports (or will support):

  • ✔️ Dynamic Typing
  • ✔️ First Class Functions & Objects
  • ✔️ Logical & Arithmetic Operators
  • ✔️ Loops and Control Flow
  • ✔️ Scoped Variables
  • ✔️ Closures
  • ✔️ Classes, Superclasses, & Inheritance
  • And more! (hopefully)

Are you Ready to get Moving?

See Getting Started