Why not SML or ml or another language more is less designed for this task. I can recommend this book! It took my understanding of compilation to a whole new level. https://www.amazon.com/Modern-Compiler-Implement-Andrew-Appel/dp/0521607647
I have converted a very simple expression evaluator, initially developed in Caml Light in the mid-90's, to F#.
https://github.com/pjmlp/Mini-ML
It is too basic, just linking it in case you want to have a look.
A good way to get into compilers with F# would be to use the ML version of the Tiger Book.
https://www.cs.princeton.edu/~appel/modern/ml/
http://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/0521607647
You can then translate ML into F#, while you go. Probably using the FSharp.Compatibility library, FsLex and FsYacc as well.