I love your goal, but it’s a big job. A couple of hints:
-
I’ve worked on GHC, and you don’t want any part of the sources. Hugs is a much simpler, cleaner implementation but unfortunately it’s in C.
-
It’s a small piece of the puzzle, but Mark Jones wrote a beautiful paper called Typing Haskell in Haskell which would be a great starting point for your front end.
Good luck! Identifying language levels for Haskell, with supporting evidence from the classroom, would be of great benefit to the community and definitely a publishable result!