Możliwe, że szukasz Scali.
Scala jest silnie typowana i kompilowalna.
Pod względem atrakcyjności Scala jest taka średnia. Z jednej strony spoko, bo na tle języków funkcyjnych wyróżnia się tym, że łatwo można znaleźć b. dobrze płatną pracę. Nie tylko w PL, ale i za granicą (np. skandynawia). Czego za bardzo nie można powiedzieć o innych funkcyjnych językach.
Tutaj ludziom zazdroszczę nie tyle co samego faktu obcowania ze Scalą, ale uczestnictwa w ciekawych projektach. Firma, która decyduje się na Scale na 99% ma fajny projekt.
Scala jest również praktyczna. Nie wymusza na Tobie tylko funkcyjnego programowania. Daje Ci wybór, możesz część kodować obiektowo, część funkcyjnie więc nie ma paniki, że sobie nie dasz rady.
Natomiast to co mnie odrzuca to czas jaki trzeba wpakować w ten język. Dla mnie to taki drugi C++, w którym programista bardziej walczy z gramatyka języka niż na tym co chcę osiągnąć.
Ogólnie to tak ciężko Ci polecić inny język, bo nie sprecyzowałeś co chciałbyś w nim programować.
Z innych języków jakie trochę poznałem to:
Elixir -> jeśli chcesz błyskawicznie kodować websockety w oparciu o kompletny framework, https://elixirschool.com/ wersję PL zrobił @Koziołek :D Obawy: dziurawa abstrakcja, bo znajomość Elixira pociąga za sobą naukę erlanga, oraz jest tutaj holistyczne podejście (albo kodujesz aktory albo nie kodujesz), projekty w Elixir są bardzo OK do programowania scalowalnego IO, ale niekoniecznie sprawdzą się tam gdzie wymagane jest mielenie danych, obliczenia itp
ClojureScript -> jeśli chcesz robić front w reactjs (oraz react native) 100 razy LEPIEJ i prościej niż javascriptowcy (wydaje mi się, że programowanie w clojure nie wymaga tyle co lubienia lispu czy makr co pisania konkretnego kodu z podziałem na warstwy i zasięg)
Clojure -> ciężej wchodzi niż clojurescript, ale pierwszą zachętą jest to by połączyć oba języki wówczas robiąc rozwiązania webowe masz prostszy stack. Sam clojure pod względem składni jak i modelu programowania jest przeciwieństwem elixira. Elixir wymusza aktory, natomiast w Clojure masz wybór. Gdybym miał robić projekt z innymi ludźmi to wybrałbym język po którym wiem czego mogę się spodziewać od ludzi - np. elixir, ale Clojure w rękach kogoś to zagadka. Dla kogoś kto umie programować i chce programować pozwala na znacznie więcej. Możesz robić asynchroniczne IO, możesz kodować jak w go z routines, możesz kodować z aktorami, możesz skupić się na obliczeniach, możesz programować w logice - ale to wszystko wymaga większego pokładu cierpliwości i w ogóle większej wprawy w rozumieniu języka. Inaczej wyjdzie ci g'wno i dziwny błąd co chwilę. Poza tym społeczność języka koncentruje się na produkowaniu małych konkretnych bibliotek. Dlatego też jak robisz web to raczej nie w oparciu o kompletny framework, a zbiór bibliotek. To znów wymaga więcej czasu, ale ostatecznie oddaje Ci władzę nad tym co robisz. PS, ja wiem, że w tym języku nie znajdę dobrej pracy, ale uczę się go by móc w nim kodować własne projekty. Poza tym python coraz bardziej mnie ogranicza.