I suggest you don&#x27;t start reading about writing compilers if you know only C-derivatives.<p>As for the choice of a functional language for a beginner, I think you just should pick whatever has better introductory materials available. You&#x27;re likely to experience a big mental shift by using a functional language for the first time. It was a struggle for me, at least. That being said, I&#x27;d recommend a Lisp derivative - Racket. It has a very nice tutorial and a good IDE. Also, John Carmack&#x27;s son game in Racket: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10111479" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10111479</a>