This GitHub repository contains a re-implementation of the IPL-V programming language and the Logic Theorist (LT) program. It includes the original code transcribed into a TSV format and converted to Lisp, along with documentation and debugging tools.
The Wikipedia article details the Logic Theorist, created in 1956 by Allen Newell, Herbert A. Simon, and Cliff Shaw. Widely considered the first AI program, it successfully proved 38 of the first 52 theorems in Principia Mathematica, even discovering more elegant proofs than those originally crafted by Russell and Whitehead.
The Virtual Keypunch is a web-based service that allows users to create and download personal punch cards in various formats. It mimics the classic IBM 029 keypunch cards, supporting character sets for Standard, FORTRAN, COBOL, DATA, SYMBOLIC, and PYTHON cards. The service includes features like multiple punching, binary input modes, and the ability to generate links with embedded text.
"Shaw et al. (Ref. 1) have described a possible hardwar e computer,
called IPL-VI, which showed the important features such a machine should
have for its IPL-V instructions, but the input/output and arithmeti c instructions ar e not considered. However, with the arriva l of the presentday module concept of arithmeti c computer organization, a new possibility
arise s for the construction of an IPL-V hardwar e machine. To convert an
arithmetica l computer into an IPL-V system, it could be provided with a
second processo r which operate s with certain basic IPL-V "J" processe s
as its instruction set. The second processo r would require direc t access
to memory for its data and instructions in orde r to be able to operate at
as fast a speed as the memor y would allow. The instruction set of the sec -
ond processo r should be all the basic list operations. The remaining list
operations could be built up as routines from these basic operations. All
the arithmeti c and input/output processe s would be performed in the original arithmeti c processor, with the List Processo r taking car e of any necessary list "bookkeeping." The necessary data and addresse s would be
communicated between the two processors by prelegislation of memory
locations where the processors would find the relevant information when
requested to perform an operation. Thus, there would have to be some
means of transferring control back and forth between the two processors,
presumably some form of interrupt system"
"An IPL- hardware processor, Engine No. 2, has been added to the CDC-3600, thereby converting the system into the IPL-VC, an IPL- hardware computer. This paper presents a discussion of the completed system."