Remix.run Logo
Lumina – a statically typed web-native language for JavaScript and WASM(github.com)
26 points by light_ideas 5 days ago | 10 comments
iddan 2 minutes ago | parent | next [-]

Syntax looks cool. Would have expected proper syntax highlighting in the website (and plugin for IDEs). The website is currently too convoluted until you see actual syntax would highly suggest having code block at the front. See for good reference the landing page of ruby: https://www.ruby-lang.org/en/

tegeek 3 hours ago | parent | prev | next [-]

A good effort, but i failed to see any use case why someone will select Lumina over TypeScript. Infact Lumina itself is written in TypeScript.

afavour 7 minutes ago | parent | next [-]

Surely the ability to compile your WASM is a pretty big benefit over TypeScript, if it’s something you need.

embedding-shape an hour ago | parent | prev [-]

I'd also steer clear of any language using TypeScript for the compiler itself, even TypeScript themselves don't want to use TypeScript anymore for the compiler, don't make the same mistake yourself.

light_ideas 5 days ago | parent | prev | next [-]

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.

muizelaar 8 minutes ago | parent | next [-]

Do you have benchmarks of the Wasm performance compared to other languages?

sjrd 2 hours ago | parent | prev | next [-]

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/

Simon-curtis 5 hours ago | parent | prev [-]

on the examples page, the example for string interpolation is a simple function example

woadwarrior01 4 hours ago | parent [-]

Seems like a front-end bug. Click on the tab brings up the right example.

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

mapcars 3 hours ago | parent | prev [-]

It would be helpful to show some clarification on what the benefits are compared to TypeScript