Skip to content

MyselfLeo/sloth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦥 Sloth - The weird, slow and a bit moldy programming language

Sloth is an interpreted programming language, implemented in Rust. Its syntax is inspired by C-like languages, Rust, Python, and Lisp-like languages.
I do not ensure the stability of the language: use it at your own risk!

Syntax example

// Return the factorial of @0
define factorial: num -> num {
    @return = 1;
    i = 2;

    while <= i @0 {
        @return = * @return i;
        i = + i 1;
    };
}

define @main: num -> num {
    print(factorial(@0) "\n");
}

Some fundamentals of the Sloth syntax:

  • Operations use the Polish notation
  • Special symbols are prefixed with @: @main, @self, @return...
  • Functions return the content of the variable @return
  • Methods can modify the value referenced by @self
  • Functions/Methods arguments are named @0, @1, etc.

Features

Sloth does not provide common features like else blocks, for loops, etc. There is no error management yet, no compiled module yet, etc.

However, you can overload operators! 🎉

Installation

Install using cargo:

$ cargo install slothlang

I may provide executables in the future.

Extension

You can install this syntax highlighting VSCode extension: sloth-syntax.

License

Sloth is licensed under the Apache-2.0 License.

About

The weird, slow, and moldy programming language

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages