🦊 The Phox Programming Language
Phox is a small functional programming language.
It aims to be a simple yet expressive tool - your clever companion for exploring type theory and practical programming.
✨ Features
- Hindley–Milner type inference
No need to annotate types in most cases. (In fact, Phox has no type-annotation syntax) - Algebraic data types (ADT)
Define expressive data structures with variants. - Pattern matching
Concise and powerful destructuring. - Newtype shorthand
Cleaner syntax for single-constructor wrapper types. - First-class functions
Functions are values, operators are functions too. - Generic function temlates
Non-first class / overloadable generic function templates. - Multi-parameter typeclasses (
trait/impl)
Define the relationship between multiple methods and multiple types. - Trait record
Typeclasses (trait/impl) can be instansiated as a first-class record value, with a simple syntax. - Module system
Rust like module / namespace definition. - Simple syntax
Inspired by ML-family languages, with a focus on clarity.