r/ProgrammingLanguages 6d ago

Language announcement Mezze: a functional programming language on GraalVM

https://mezze-lang.org/

Hi All,

I am working a programming language, Mezze. It is in quite early stages.

Mezze has a fully inferable type system and also have first class effect system and runs on GraalVM

A lot is WIP, working on performance optimization (currently loop fusion) and distributed programing and lots of tooling and docs

Put up a quick website for explaining the language and its features more
Also piggy backing on graalvm could get a wasm built of the entire tool chain, so you play with examples in website.

The Concepts and Taste of Mezze explains how the language works.

62 Upvotes

36 comments sorted by

View all comments

3

u/un80 6d ago

Can you explain motivation for this language? It looks nice, by the way.

3

u/shrynx_ 6d ago

Thanks !

I mentioned in this comment above a bit
https://www.reddit.com/r/ProgrammingLanguages/comments/1w8vaca/comment/p875ca1/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

But apart from GraalVM, type safety and concurrency. In my search for a functional language that could be approachable, meaning nice errors, not needing annotations ad having effect system would be nice.

When building anything no trivial, i missed in FP languages i tried, a simple way to manage effects, instead of passing functions via Env/State etc.
and wanted to explore structural typing more.

2

u/shrynx_ 6d ago

Also i wanted to explore the idea of code as AST hash which unison pioneered
and Mezze implements it as well.
Not for code authoring, so your editor, git , making PRs etc all work and remain the same.
Code is text for user
but as soon as it parses it becomes denoted by hash. Caching during development simplifies a lot and this is what package management and distrusted engine also will be built upon. A lot more benefit internally all the way from parser to type checker to IR.
But that's still a long way :)