Learning Number Theory and Haskell: The Plan
Now that I’ve been added to planet.haskell.org, I feel like I should write a lot about Haskell. I also need to learn number theory over the summer. I thought, why not combine the two? Thus, I have hatched the idea of this “series” of blog posts, which I am calling Learning Number Theory and Haskell. My plan for this summer is to structure a set of writings on Haskell around my reading of the textbook Elementary Number Theory by Gareth and Mary Jones.
My writing will be aimed at beginners in both Haskell and number theory. My goal will be to:
- Talk about all of the basic ideas of Haskell, using an exploratory approach.
- Try for as much “text coverage” of the number theory book as I can.
- Respond to your feedback on what you find interesting and worthwhile.
If you share similar interests, I’d encourage you to follow along. It may help if you actually purchase a copy of the textbook; if not, you will just miss out on much of the number theory part, as I don’t intend to rewrite the book in the course of my blog.
By way of acknowledgement, I partially got this idea from Rydeheard and Burstall’s book Computational Category Theory, which is available online here. I should point out that I haven’t actually read more than the first chapter of that book, and it is really not at all like what I’m going to do. However, Rydeheard and Burstall’s work does raise the intriguing idea that it may be possible to build a software library that, in a sense, embodies the theory of a mathematical field. I find that concept fascinating.
I may or may not create a library at all. The first few entries, which I’ve already sketched out, don’t involve writing anything permanent. I will be somewhat limited by the fact that I’m working at a beginner’s level in Haskell. The series will start with some hacking around in GHCi, and grow from there. Again, I hope to get some feedback as I go along on which directions to pursue, and which to abandon.
So, I hope you’re with me! I’ll be posting the first installment later today.