Expresso

screenshot of Expresso

A simple expressions language with polymorphic extensible row types.

Overview:

Expresso is a minimal statically-typed functional programming language designed for embedding and extensibility. Its features include a small implementation, static typing with type inference, extensible records and variants, lazy evaluation, and compatibility with Haskell.

Features:

  • Small and simple implementation
  • Statically typed with type inference
  • Structural typing with extensible records and variants
  • Lazy evaluation
  • Convenient use from Haskell
  • Whitespace insensitive syntax
  • Type annotations for supporting first-class modules and schema validation
  • Built-in support for various data types like ints, doubles, bools, chars, and lists
  • Support for fixed-points without recursive records

Summary:

Expresso is a minimal functional programming language with a focus on embedding and extensibility. With features like extensible records, lazy evaluation, and compatibility with Haskell, it offers a simple yet powerful tool for various use cases such as configuration management and data exchange. The language employs a clear syntax and type system, making it ideal for developers looking for a lightweight yet expressive language for their projects.