FREE CONTRIBUTION CHRONOLOGY · 1725–1804

Instructions on cards

What changes when instructions are stored separately from the mechanism that executes them?

The historical question

Perforated paper and cards moved weaving choices into replaceable media. The loom remained physical, but the pattern could change without rebuilding the control mechanism.

Separating instructions from mechanism lets one executor produce many outputs by loading different programs.

A replaceable control pattern

Imagine a loom with four independently selectable warp groups. Encode one row of choices as four bits, with 1 meaning lift and 0 meaning leave. The pattern 1010 lifts the first and third groups; 0101 lifts the second and fourth. Alternating these two control rows changes the output while leaving the selecting mechanism intact. The representation has separated a description of behavior from the executor.

A sequence of such patterns can be edited, duplicated, and stored. But this does not yet imply arbitrary computation. If every run reads the same fixed sequence and then repeats it, the machine lacks the data-dependent choice that distinguishes many programs. Ask what state can affect the next instruction. Does the medium merely advance? Can the machine branch? Can it write a new instruction? These are separate architectural capabilities.

The historical contribution is therefore concrete and bounded: external control media can make behavior replaceable. That principle later appears in many systems, but similarity does not prove a direct path of influence in every case. Also distinguish the encoded pattern from the full process: thread properties, mechanical alignment, labor, and maintenance affect whether the intended cloth is actually produced.

What the evidence does not establish

Credit the chain of Bouchon, Falcon, Vaucanson, Jacquard, craftspeople, and operators rather than inventing a lone-genius origin.

Reconstruction exercise

Encode three rows for four groups: lift groups 1 and 4, then 2 and 3, then all four. Explain what extra mechanism would be needed to choose a row based on a sensed input.

Worked solution

The rows are 1001,0110,1111 when positions are ordered 1 through 4. A sensor-dependent choice needs an input representation and a control rule selecting the next row or address from that input. Merely adding more fixed rows increases pattern length; it does not create conditional selection. State your bit order, because reversing it can change an asymmetric pattern.

Test the limits and transfer the idea

1. Encoding and error reasoning · allow 25 minutes

Detecting a damaged card does not identify its repair

A toy loom uses four control bits plus one even-parity bit. Encode rows 1001, 0110 and 1111. The receiver reads 11010 for one row, with parity in the last position. Does parity pass? List two different single-bit repairs that make it pass, and explain why this parity rule cannot identify the correct repair. Also describe an error pattern that changes the pattern while passing parity.

Get a starting hint

Parity constrains the number of ones modulo two, not the physical location of a damaged bit.

Compare your reasoning with the worked solution

All three original rows contain an even number of ones, so encodings are 10010, 01100 and 11110. Received 11010 contains three ones and fails even parity. Flipping the second bit yields 10010; flipping the final parity bit yields 11011. Both now have even parity, but only source evidence or a stronger code could decide which was intended. Any two-bit flip preserves parity and can alter control choices undetected. Thus redundancy can reveal some corruption without giving a unique correction. The historical museum card records establish replaceable control media and surviving artifacts; they do not show that this invented five-bit parity scheme was used on Jacquard cards.

Check your reasoning

  • Encodes all rows and evaluates received parity.
  • Gives two distinct valid repairs.
  • Explains undetected even-error patterns and avoids anachronistic attribution.

2. Expressiveness proof · allow 25 minutes

A fixed sequence cannot respond to an unseen input

A machine reads the same finite card sequence from the beginning on every run and repeats it forever. It has no sensor input, writable state or data-dependent jump. Can it implement “on a red sensor signal choose pattern A; on blue choose B,” with A≠B? Prove your answer by comparing two runs, then identify the minimum new kind of mechanism needed. Explain why adding a longer card stack alone does not solve the problem.

Get a starting hint

If every state transition is identical in two runs, their outputs are identical too.

Compare your reasoning with the worked solution

The runs start in the same state and see the same card at each step. Since no transition depends on the sensor, induction shows that every later machine state and output is the same in both runs. The requested outputs differ, so the specification is impossible for this model. A sensor-controlled selector, branch, or equivalent input-dependent control state must be added; its physical implementation and permitted responses then need specification. A longer fixed sequence only adds more predetermined transitions and cannot distinguish red from blue. This proof concerns the stated model, not every historical loom. Similarity between external cards and later programs is useful, but evidence of direct influence or universality requires more than the presence of replaceable media.

Check your reasoning

  • Uses indistinguishable runs as the impossibility argument.
  • Names input-dependent control as the missing capability.
  • Limits the conclusion to the stated machine model.

Check your understanding

What does replaceable control media establish by itself?

  • That instructions can change without rebuilding the executor
  • That the machine can rewrite its own instructions
  • That every mathematical function is computable
Explanation

The rows are 1001,0110,1111 when positions are ordered 1 through 4. A sensor-dependent choice needs an input representation and a control rule selecting the next row or address from that input. Merely adding more fixed rows increases pattern length; it does not create conditional selection. State your bit order, because reversing it can change an asymmetric pattern.

Sources and further reading