5.3.8  Code Reading Interlude

Nobody ever became a great writer without reading the works of previous great writers, or a great composer without hearing the works of previous great composers; is it not odd that programming classes devote so little attention to reading the works of great programmers?

It is this sort of failure to build upon the achievements of our predecessors which Richard Hamming had in mind when he said only half-jokingly:

“Mathematicians stand on each other’s shoulders while computer scientists stand on each other’s toes.”

To learn programming you should spend lots of time hands-on crafting code, but you should also spend lots of time reading major programs by major programmers.

I know I learn something new every time I do that!

With this thought in mind, the Mythryl HTML documentation includes the entire Mythryl platform codebase, both compiler and libraries, heavily hyperlinked to encourage casual code surfing.

This is a good time to make a first foray into that codebase. You now know enough Mythryl to get at least a general sense of what the code is doing, and skimming some industrial-scale code will do wonders for building up your Mythryl coding intuition and esthetic sense.

You may see industrial-scale examples of defining Mythryl mutually recursive datastructures in the files which define the Mythryl compiler raw and deep syntax trees.

You should not expect — or even try — to understand them in detail at this point, you should just try to skim lightly to get a bit of a feel for the flavor of production Mythryl code:

For a matching peek at actual processing of such datastructures, you might look at some of the Mythryl raw syntax tree unparsing or typechecking code:

Comments and suggestions to: