[HN Gopher] Lumina - a statically typed web-native language for ...
       ___________________________________________________________________
        
       Lumina - a statically typed web-native language for JavaScript and
       WASM
        
       Author : light_ideas
       Score  : 54 points
       Date   : 2026-04-09 16:02 UTC (5 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | light_ideas wrote:
       | 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.
        
         | Simon-curtis wrote:
         | on the examples page, the example for string interpolation is a
         | simple function example
        
           | woadwarrior01 wrote:
           | Seems like a front-end bug. Click on the tab brings up the
           | right example.
           | 
           | https://nyigoro.abrdns.com/#lumina
        
         | sjrd wrote:
         | 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/
        
         | muizelaar wrote:
         | Do you have benchmarks of the Wasm performance compared to
         | other languages?
        
         | gwbas1c wrote:
         | 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.
        
           | pjmlp wrote:
           | And for any ML inspired language, OCaml, Haskell, Grain, Roc.
           | 
           | Especially Grain, as it was also developed as an ML for
           | WebAssembly.
        
         | austinrm wrote:
         | As a longtime Typescript user working more recently in Rust, I
         | appreciate the syntax and overall language design.
         | 
         | Like others in the comments, I'm wondering where this fits into
         | the existing ecosystem. What kinds of problems does Lumina
         | solve especially well vs. Typescript, or a WASM-compatible
         | language?
        
           | satvikpendem wrote:
           | Or even ReasonML
        
         | spankalee wrote:
         | Nice! I'm working on a similar language in some ways.
         | 
         | One decision I made is to specifically not compile to JS.
         | JS/Wasm interop is good enough with Wasm GC that I made the
         | choice to focus on Wasm-only constraints and semantics and not
         | worry about how things like the types being wrong, or how ints
         | translate to JS, how to handle null vs undefined, etc. JS GCs
         | collect objects and cycles across the Wasm boundary, and with
         | the JS string built-ins you can handle strings efficiently.
         | 
         | I couldn't load your demo, btw.
        
       | mapcars wrote:
       | It would be helpful to show some clarification on what the
       | benefits are compared to TypeScript
        
         | ezst wrote:
         | Or the plethora of languages compiling to WASM, for that matter
        
       | tegeek wrote:
       | 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.
        
         | embedding-shape wrote:
         | 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.
        
         | afavour wrote:
         | Surely the ability to compile your WASM is a pretty big benefit
         | over TypeScript, if it's something you need.
        
           | pjmlp wrote:
           | AssemblyScript exists.
        
             | afavour wrote:
             | Sure. It isn't TypeScript though.
        
               | pjmlp wrote:
               | C subset + compiler extensions for some embedded systems
               | isn't proper C, and people still call it C, given how
               | close enough it is.
        
             | spankalee wrote:
             | AssemblyScript seems to be seriously languishing these
             | days, and the team has falling-outs with a lot of the Wasm
             | ecosystem.
        
               | pjmlp wrote:
               | Which I actually agree with, as the Wasm ecosystem is
               | trying to be yet another UNCOL outside the browser,
               | bringing CORBA back while pretending it is some great new
               | idea.
        
       | iddan wrote:
       | 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/
        
         | jasonjmcghee wrote:
         | I see syntax highlighting on the website fwiw
        
       | duesabati wrote:
       | I think this project is super interesting and I really like the
       | rust inspiration here. How can one get in touch with you and/or
       | help out the project?
        
       | bryanrasmussen wrote:
       | I'm not sure I understand the benefit of compiling to both
       | JavaScript and WASM? Since I would normally expect to use both in
       | the same environment, probably I haven't considered something or
       | am overly tired at the moment so asking sincerely.
        
       | farmeroy wrote:
       | What's differentiates this from something like gleam/lustre?
        
       ___________________________________________________________________
       (page generated 2026-04-14 23:01 UTC)