Haskell and OCaml (reason too of course) are the only ones that come to mind as a 100% match
I would argue that Rust and Swift also qualify though, since their lifetime management and reference counting respectively are valid forms of garbage collection.
Crystal fits except for the promoting OO part.
If we ignore the bonus then Scala and elixir might also qualify.
Comments
Haskell and OCaml (reason too of course) are the only ones that come to mind as a 100% match
I would argue that Rust and Swift also qualify though, since their lifetime management and reference counting respectively are valid forms of garbage collection.
Crystal fits except for the promoting OO part.
If we ignore the bonus then Scala and elixir might also qualify.