this post was submitted on 24 Sep 2026
11 points (67.7% liked)

Programming

28819 readers
108 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 3 years ago
MODERATORS
 

https://github.com/moggi-lang/moggi/

Moggi is a statically typed, purely functional programming language with strict evaluation. It has algebraic data types, GADTs, pattern matching, type classes, type inference, Generic Deriving, and an IO monad. It targets the JVM, .NET, and PHP, with typed FFI for existing Java, .NET, and PHP libraries.

The first release also includes a REPL, LSP, VS Code extension, moogle (code search), mogdoc (documentation generation), and a growing standard library.

This is an alpha release: the language and APIs are still evolving, and the standard library is still a work in progress.

I'd particularly like feedback from people interested in functional languages, type systems, compilers, and language/runtime interoperability.

all 10 comments
sorted by: hot top controversial new old
[–] spectrums_coherence@piefed.social 16 points 3 weeks ago* (last edited 3 weeks ago) (2 children)

Dude you commited 167,147 lines of code in 1529 files in a single initial commit, then have not made any coding changes...

Is this slop?

[–] Aarkon@discuss.tchncs.de 7 points 3 weeks ago

Not saying it isn’t, but it’d hardly be the first project I see where the git history was truncated before its release to the public.

[–] x_pikl_x@lemmy.world 4 points 3 weeks ago

Says so at the bottom of the page. Definitely put your trust in the future of this project though when things go wrong or security holes get exploited.

[–] Wiz@midwest.social 2 points 2 weeks ago (1 children)

Why would I use this rather than, say, Clojure?

[–] innocentzero@kbin.earth 1 points 2 weeks ago

Not OP, and I have no context on this, but it does say statically typed.

[–] abbadon420@sh.itjust.works 1 points 3 weeks ago (1 children)
[–] dneaves@lemmy.world 1 points 2 weeks ago (1 children)

Well it looks 99% like Haskell, but compiles to JVM, .NET, and PHP. And otherwise seems very "Haskell at home", with moogle (instead of hoogle), and mogdoc (instead of haddock).

Not to diminish any work you did do, but I do think a Haskell -> JVM/.NET/PHP compiler might have done what you aimed for and easier.

[–] anton@lemmy.blahaj.zone 1 points 2 weeks ago

I think it's because of Lazy evaluation. It's essential to Haskell, but hard to graft onto another platform while having good performance.

[–] spacemanspiffy@lemmy.world 1 points 2 weeks ago

Why target 3 different runtimes?