A Reprogramming Machine
In this paper a description is given of a model
programming system which is directed by a programming 
language and has a library for storing the user's items.
 Rules are given for transforming programs written 
in the language and for rearranging the items in the
library so that they share their common parts.  
Some speculations are made about how the mechanical
detection of common parts or patterns of library 
items could help a user to solve his problems, and about
the relationships between the behavior of the 
reprogramming machine and human intelligent behavior.
CACM February, 1966
Burge, W. H.
