Lumina is a statically typed, web-native language that compiles to JavaScript and WebAssembly. It has HM type inference, algebraic types, traits, a reactive UI runtime, a REPL, an LSP, and a browser demo written in Lumina itself. The current demo runs without React and uses a Vite plugin that compiles .lm files directly for the browser.

GitHub: https://github.com/nyigoro/lumina-lang npm: https://www.npmjs.com/package/lumina-lang

I’d love feedback on the language design, the web-native direction, and the developer experience.

gwbas1c4 hours ago | | | parent | | on: 47705391
The first thing you can do is improve your "first impression" in your docs. None of the references to other pages are clickable hyperlinks; which markdown supports without much effort. (Pretty much got me to give up reading because it's the 21st century and hyperlinks have been around for at least 30 years.)

The second thing is to have a general overview of the features of the language on the first page that's a little more then just hello world. Have a loop, a variable, ect. I shouldn't have to "work" to get a feel for what's different and special about your language compared to vanilla Javascript, Typescript, Rust (via WASM,) C# (via WASM) and the countless other transpiled or WASM-compiled languages.

pjmlp3 hours ago | | | parent | | on: 47765583
And for any ML inspired language, OCaml, Haskell, Grain, Roc.

Especially Grain, as it was also developed as an ML for WebAssembly.

sjrd6 hours ago | | | parent | | on: 47705391
Have you tried Scala? It checks all the boxes, and is a mature language. The reactive UI runtime is provided by the library Laminar [1].

Technically its type inference is not HM but it's as expressive. In particular it has GADTs and HKTs, which I saw in your docs.

I wonder what you feel is missing from Scala (its .js/Wasm version) that Lumina provides?

[1] https://laminar.dev/

muizelaar5 hours ago | | | parent | | on: 47705391
Do you have benchmarks of the Wasm performance compared to other languages?
Simon-curtis10 hours ago | | | parent | | on: 47705391
on the examples page, the example for string interpolation is a simple function example
woadwarrior019 hours ago | | | parent | | on: 47762838
Seems like a front-end bug. Click on the tab brings up the right example.

https://nyigoro.abrdns.com/#lumina