I'm looking for a language that:<p>- is statically typed<p>- supports algebraic data types and exhaustive pattern matching<p>- does not necessarily promote an OO model<p>- has garbage collection<p>- compiles to a single binary<p>- has support for web development<p>- bonus: is not tied to an existing VM ecosystem (JVM, .NET, BEAM)<p>Basically Rust with a GC. Is there anything out there like this? Is anyone working on something like this that I could contribute to?
Haskell and OCaml (reason too of course) are the only ones that come to mind as a 100% match<p>I would argue that Rust and Swift also qualify though, since their lifetime management and reference counting respectively are valid forms of garbage collection.<p>Crystal fits except for the promoting OO part.<p>If we ignore the bonus then Scala and elixir might also qualify.