John McCarthy creates the LISP programming language
John McCarthy is finalizing the syntax and core concepts of the LISP programming language, surrounded by colleagues who are both skeptical and intrigued. He's explaining the revolutionary idea of trea
Setting
MIT Artificial Intelligence Laboratory, a modest-sized room filled with early computing equipment. The space is cluttered with papers, chalkboards covered in mathematical notations, and the hum of machinery. Large windows let in the autumn light, partially obscured by heavy drapes.
Characters
John McCarthy
primary
A tall, lanky man in his early 30s with a high forehead and thinning dark hair. His sharp blue eyes are intently focused behind round, wire-rimmed glasses. He has a studious yet slightly disheveled appearance, with ink stains on his fingers from working with early printers.
Research Assistant
secondary
A young man in his early 20s, slender build with a slightly hunched posture from long hours at the desk. His dark brown hair is tousled from repeatedly running his hands through it in concentration. Wire-rimmed glasses perch on his nose, slightly smudged from handling chalk and paper.
Senior Researcher
secondary
A middle-aged man with a lean build, slightly stooped shoulders from years of bending over desks and equipment. His thinning brown hair is neatly combed back, and he wears round, wire-rimmed glasses that magnify his keen, observant eyes. A faint trace of ink stains his fingers, evidence of frequent note-taking.
Lab Technician
background
A middle-aged man of average height with a wiry build, sporting short-cropped brown hair and a neatly trimmed mustache. His hands are calloused from years of handling delicate equipment, and his keen eyes are framed by round, wire-rimmed glasses.
Dialog
John McCarthy
Wait—no, it's obvious now! The evaluation rule must apply to itself recursively. That's how we'll achieve the meta-level abstraction.
Research Assistant
The recursion, sir—so the function can operate on its own code? That's... that's brilliant!
Senior Researcher
Just watch your stack depth. The 704's memory won't forgive infinite recursion.
John McCarthy
Hardware limitations are temporary—the theoretical framework is what matters. Look here: (S (K (S I)) (S (K K) I))—this lambda calculus notation proves the concept.
Research Assistant
But sir, how do we implement the conditional expressions? The IBM assembly instructions don't...
John McCarthy
The predicate calculus handles that elegantly—if p then x else y becomes ((p x) y) in combinatory logic. It follows directly from Church's work.
Senior Researcher
Well, John, you've just given every AI researcher a new headache. I'll alert the aspirin supply.