Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🦊 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.