The Code Diarist

A diary about code

Formal Education

November 10, 2025

It only took almost all my life before I realized the importance of distinguishing problems by the shapes they exhibit, in other words, by learning their forms. Far too long I wrongly thought that Formal Education meant wearing a suit and necktie to school. Because I went to such a school.

So soon old. So late, a teeny-tiny bit less ignorant.

About the Month Passing Since the Previous Post

Family visits and autumn chores consumed most of October. I did do some coding and writing on GitHub about a homemade Internet-of-Things gizmo, among other topics. Please consider visiting the following links:

An Update from Last Month

The previous article complains that the Emacs editor lacks a simple way to run a so-called shell script and bring its output into a document being edited. That assessment was incorrect.

The Lisp procedure I developed in that article is interesting but unnecessary. The alternative, sed script descibed there can be run directly from Emacs and the output comes directly into the editor. This makes Emacs more efficient compared to the other method discussed in the article.

If you must know, the Emacs keystroke sequence is M-1 M-!, followed by the instruction invoking the shell script on the terminal’s command line. You can look it up.

Today's Topic: the Forms of Problems

I continued to study Emacs Lisp as a programming language apart from its uses for editing text. Progress comes more easily as I gain familiarity with the documentation. For the exercise, I'm writing a set of procedures to mimic the operation of an HP-12C financial calculator.

The notion of Forms took shape as I grew accustomed to the unique syntax (meaning, way of writing) Lisp, compared to pretty much all the other coding languages.

It organizes code statements by enclosing them between pairs of parentheses. When Statement_A needs to make use of Statement_B, Lisp “nests” the parentheses for B inside of A, like this: (Statement_A (Statement_B)).

To my surprise, I found the “flow of the code” becoming easier for me to read that way, in contrast to C and Python, which would lay the statements out differently, typically on separate lines.

The possible benefit of clarity may give one reason why a teacher would select Lisp for an introductory course in programming. The very peculiarity of the form gives another reason. It calls attention to concepts of coding — storing, retrieving and comparing data; determining which instruction to execute next — shared by many languages despite their differences of syntax.

Musing on differences, between the content of a thing and the form it takes in a particular instance, helped me learn to read the Emacs documentation. Number me among the multitudes who have felt discouraged after trying to read it.

Richard Stallman, himself, the author of Emacs, has expressed regret that gifted writers of computer code-language often struggle to write human languages well. I will say that the writing found in the manuals for Emacs and its Lisp does not lend itself to easy reading.

It does not flow along like a string of beads, as in a beach-book mystery, where everything you need to know, before reading what comes next, has been spelled out in what you read before.

Instead, the documentation is like a box of baseballs, where each concept is self-contained and complete within its own, autonomous section; take them up in any order you choose. Even the table of contents lacks a sense of sequence; it resembles a shopping list for the grocery store more than a recipe for a meal.

However, forming the information in that way works out very nicely for a searchable document. Searching to discover the Lisp math functions, for example the logarithm, went click! click! click! and there they were, one after another, each explained in detail, all together in one place.

In future I will remember to recognize the form of a document, distinct from its content, and consider to study documents formed like these by searching rather than going cover-to-cover.

General Formality

In his book, Gödel Escher and Bach, Douglas Hofstadter develops ideas regarding systems of thought made up of forms, that is, of formal systems. To inhabit a formal system is to accept its forms as given; Hofstadter declares it impossible to delve the rules superintending the forms by looking only within the system, because those rules are outside of the system.

In other words, don't ask questions; just learn the forms. Or something like that.

I see application for this perspective in many disciplines. A botanist I knew could sight-recognize and remove the weeds from among the desirable perennials in his flower beds, as all the plants together pushed up their first, green shoots in Spring.

For another example, Calculus students drill upon endless exercises on the way to learning many different forms that problems can take; each having a preferred approach to solving. Factor this equation, or transform that tough-looking one into an equivalent form, thus making them easier to solve.

And here, I always (wrongly) thought that Calculus was just a harder grade of arithmetic. No, instead, it is a rich set of forms for making sense of things that would be hard to gauge any other way. By the time you get to Calculus, you are all done learning arithmetic. Move on. Learn the forms and how to determine which form to apply; the arithmetic follows easily from there.

Physicians have the notion of syndromes, particular constellations of symptoms that, taken together, point to a diagnosis.

I wish I had devoted greater emphasis to recognizing the forms of problems when I taught financial math to college students. Different kinds of business decisions call for correspondingly different forms of analysis. Looking back on it with regret, I see that I just led them into an undifferentiated briar patch of rather non-intuitive equations, and left them there to wiggle through the thicket for themselves. Shame on me.

Formal Education has nothing to do with tuxedos and gowns and posing for pictures at the Senior Prom. Instead, it means to study the forms that shape the knowledge of the world.