Язык с нормальным порядком редукции?
О! Нашлась такая вещь: LCI Очень неплохо для начала.
Насколько я помню, Скала удовлетворяет всем вашим требованиям. Да, типизация там статическая, но именно она и позволяет задать тип бесконечной рекурсии, и вполне нормально с этим живёт. Советую курс progfun на coursera.