I chose them mostly based on pedigree, reputation, and vibe. For OCaml in particular, I have been listening to Jane Street's Signals & Threads podcast, and I figure that if these incredibly smart and accomplished people really like OCaml, it must be pretty cool and worth checking out.
Elixir was also something that seemed interesting. I like that it has a focus/specialty (real-time, highly concurrent systems), and its specialty is relevant to several of my interests.
> I looked at Haskell and read Learn You a Haskell and did some Exercism exercises but never got anywhere close to being able to use it for real projects. Have been trying to learn about Lisp lately and feel like I've come to a similar dead end.
Yeah, I did some Learn You a Haskell a while back and similarly felt it was too incoherent and disjointed. I intend to buy a physical book or two this time around.
> On the other hand, both Go and Rust have felt fulfilling and practical, with static typing and solid tooling, cross compilations, static binaries, and dependency management that is just a huge breath of fresh air coming from python.
If I was going to start a startup, or was tasked with building a new service at an existing company, Go would be my leading candidate. However, I view that choice as simply very practical; it's a reliable language that is in widespread production use, performs well, etc. But this is more about interest/fun. I haven't written much Go, but insofar as I have, I found it very tedious and somewhat awkward. And it's not a functional programming language, as far as I am aware.
Yeah, candle is pretty cool, and is one reason why Rust was also a candidate for me. Dropped it out of consideration because I basically am not motivated by any of the things that, to my understanding, motivate Rust, such as low memory footprint.