Hello Rustaceans ,
I am excited to publicly release 0.1 of the
ogma project, a scripting language focused on ergonomically and efficiently processing tabular data, with batteries included. Mixing aspects of terminal shells and functional programming, the ogma project’s goal is to interact with data in a refreshing way. The language is syntactically lightweight yet boasts powerful constructs designed to efficiently work with tabular data.
And of course, it is written in Rust!
Ogma takes inspiration from multiple sources. For the semantics , programming languages Rust (obviously), Haskell, ML, and Elm have all been an influence, while the syntax is derived primarily from terminal shells (with smatterings from other languages). Some major characteristics of ogma are:
- small language with few keywords and opting for a prefix notation,
- uses pipelines to chain together commands, composing their effects,
- it is strictly typed,
- can be extended with user-defined implementations and types.
Ogma started out as a pedagogical exercise in language design, developing into a highly useful utility for working with data, being used daily in my job. It is still in early development, but I encourage people to try it out and get involved in the project by raising issues, feature requests, PRs, or just general feedback!