News for hackers. Stuff that matters.
Re:Elixir – Why the dot (when calling anonymous functions)? by consilient on Monday August 14, 2023 @06:15PM (#37127463)
Purescript has by far the strongest type system of any mature compile-to-js language, good FFI, footprint comparable to react.

Elm is a heavily stripped down purescript, plus an ambiguously-benevolent dictator for life. Also terrible interop. It's a good learning environment but I would strongly recommend against using it for anything big.

Rescript is basically Ocaml with half-js syntax.

Typescript is bizarre. On a scale from 0 (C) to 10 (Haskell), it's a 12, a 6, and a 2 duct taped together. It's got some incredibly powerful features (template literals, conditional types), but it's missing most of the standard "advanced"-but-production-ready type system features (e.g. no HKTs, no type-directed emit) and the foundation is absolutely riddled with soundness holes.

Re:Elixir – Why the dot (when calling anonymous functions)? by bPspGiJT8Y on Monday August 14, 2023 @06:17PM (#37127479)
Also worth mentioning Idris, although its tooling and ecosystem are still pretty much nonexistent.
Re:Elixir – Why the dot (when calling anonymous functions)? by consilient on Monday August 14, 2023 @06:21PM (#37127510)
Yeah, that's what I meant by "mature". Agda also has a js backend, but neither one can really stand alone. Haskell is closer, but GHCJS is still very much a second class citizen of the ecosystem.
Re:Elixir – Why the dot (when calling anonymous functions)? by bPspGiJT8Y on Monday August 14, 2023 @06:45PM (#37127710)
Clean also has WASM as the compile target via its IR, and its tooling is great. Unfortunately though I couldn't find any sort of a community when I was looking into it, but other than this the language looks quite mature and very industry-oriented. Then there's Lean which also can compile to WASM via some sort of a bridge, it has decent tooling but the ecosystem is still nonexistent.