Class UndefinedObject Object Methods UndefinedObject createGlobals | aBlock | " create global variables in initial image " true <- True new. false <- False new. smalltalk <- Smalltalk new. files <- Array new: 15. stdin <- File new; name: 'stdin'; mode: 'r'; open. stdout <- File new; name: 'stdout'; mode: 'w'; open. stderr <- File new; name: 'stderr'; mode: 'w'; open. editor <- 'vi'. " create a dictionary of classes " classes <- Dictionary new. symbols binaryDo: [:x :y | (y class == Class) ifTrue: [ classes at: x put: y ] ]. scheduler <- Scheduler new. " create the initial system process " " note the delayed recursive call " aBlock <- [ files do: [:f | f notNil ifTrue: [ f open ]]. systemProcess <- aBlock newProcess. echoInput <- false. scheduler run ]. systemProcess <- aBlock newProcess. ] Methods UndefinedObject printString ^ 'nil' ] Methods UndefinedObject isNil ^ true ] Methods UndefinedObject initialize " initialize the initial object image " self createGlobals. File new; name: 'systemImage'; open: 'w'; saveImage; close. ] Methods UndefinedObject notNil ^ false ]