2 releases
Uses new Rust 2024
| new 0.5.1 | May 6, 2026 |
|---|---|
| 0.5.0 | Feb 22, 2026 |
#2254 in Data structures
Used in 4 crates
(3 directly)
285KB
7K
SLoC
Lutra is a language for preserving type information between different software components. It is a high-level, statically typed language, designed for querying data and expressing data structures.
type Album: {id: int16, title: text}
func get_albums(): [Album] -> std::sql::from("albums")
func get_album_by_id(album_id: int16): Album -> (
get_albums()
| find(this -> this.id == album_id)
)
It is minimal and designed to be extended to new execution targets. Currently, it can run on a reference-implementation interpreter and PostgreSQL.
Project status
Lutra is a personal passion project, currently in a proof-of-concept stage. It is not ready for production use. It works, but is not feature complete and will change in inconvenient ways.
Feel free to try it out or come and chat with me at Zulip.
Dependencies
~32MB
~720K SLoC