See
https://www.lukeseelenbinder.com/compiler.pdf for a more detailed project description and documentation. This was an academic project, but it taught me an immense amount about programming, both applicationally and theoretically. I did not know Haskell before starting this endeavor.