If you've not read it yet:

Programming as Theory Building: https://pages.cs.wisc.edu/~remzi/Naur.pdf