a222red / Sputter

A pure functional language written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sputter: A pure-functional language written entirely in Rust

Features:

  • Pure functionality: Every function is a single expression that will produce consistent results given the same input.
  • Simple syntax: Sputter's syntax resembles a simpler version of Common Lisp.
  • Readable errors: Sputter has Clang-style error messages that show the line and token where the error was detected.
  • Immutability: Variables are evaluated once when they enter scope, and cannot be modified or reevaluated afterward.
  • Strict control flow: Every if statement must have a corresponding else to prevent unintentional returns.
  • Simple type system: Sputter features a simple set of types, including list type rather than unevaluated cons-pairs. Types can never be implicitly converted, preventing unwanted conversions.
  • Semi-gradual typing: Sputter is dynamically typed, but function parameters can optionally specify a type, and an error will be thrown from the caller rather than the callee if said type isn't matched.

About

A pure functional language written in Rust


Languages

Language:Rust 97.3%Language:SourcePawn 2.5%Language:Shell 0.2%