Hi,
When I debug somethings I see
UdefinedObject>>DoIt
So #DoIt should be in UndefinedObject but I can't see it when I browse it?
An other things intresting is where do nil being initialized? [I know he is an old friend but it should have been born in a certain time :-) ]
best regards, Mathieu
UndefinedObject is the class of the global object known as 'nil'.
Scratch DoIts (like when you select some text in a workspace and choose 'do it') are compiled as a method on UndefinedObject called 'DoIt', run, and then removed immediately.
On Jun 11, 2006, at 5:54 AM, mathieu wrote:
Hi,
When I debug somethings I see
UdefinedObject>>DoIt
So #DoIt should be in UndefinedObject but I can't see it when I browse it?
An other things intresting is where do nil being initialized? [I know he is an old friend but it should have been born in a certain time :-) ]
best regards, Mathieu _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Le Dimanche 11 Juin 2006 14:54, mathieu a écrit :
An other things intresting is where do nil being initialized? [I know he is an old friend but it should have been born in a certain time :-) ]
I think this one is so essential, that you can only find it in some bootstrap method not written in Smalltalk.
There must be a few initializer that you will hardly find in the image, like initialization of Smalltalk (I mean SystemDictionary). Did you see something like Smalltalk at: #Smalltalk put: Smalltalk ?
Like the (Metaclass class class) knot...
Like the Process stuff...
Feel free to discover more!
You must admit that an image must have been created once ex nihilo (or rather ex C-code glue).
Nicolas
Am 12.06.2006 um 23:08 schrieb nicolas cellier:
Le Dimanche 11 Juin 2006 14:54, mathieu a écrit :
An other things intresting is where do nil being initialized? [I know he is an old friend but it should have been born in a certain time :-) ]
I think this one is so essential, that you can only find it in some bootstrap method not written in Smalltalk.
There must be a few initializer that you will hardly find in the image, like initialization of Smalltalk (I mean SystemDictionary). Did you see something like Smalltalk at: #Smalltalk put: Smalltalk ?
Like the (Metaclass class class) knot...
Like the Process stuff...
Feel free to discover more!
You must admit that an image must have been created once ex nihilo (or rather ex C-code glue).
Most certainly not C. The first Smalltalk prototype was a BASIC program, Smalltalk-72 was coded in assembly. We'd have to ask Dan to be sure where the nil instance in Squeak comes from ...
- Bert -
Bert Freudenberg a écrit :
Am 12.06.2006 um 23:08 schrieb nicolas cellier:
Le Dimanche 11 Juin 2006 14:54, mathieu a écrit :
An other things intresting is where do nil being initialized? [I know he is an old friend but it should have been born in a certain time :-) ]
I think this one is so essential, that you can only find it in some bootstrap method not written in Smalltalk.
There must be a few initializer that you will hardly find in the image, like initialization of Smalltalk (I mean SystemDictionary). Did you see something like Smalltalk at: #Smalltalk put: Smalltalk ?
Like the (Metaclass class class) knot...
Like the Process stuff...
Feel free to discover more!
You must admit that an image must have been created once ex nihilo (or rather ex C-code glue).
Most certainly not C. The first Smalltalk prototype was a BASIC program, Smalltalk-72 was coded in assembly. We'd have to ask Dan to be sure where the nil instance in Squeak comes from ...
- Bert -
Yes like an historian job. :-) Very instresting. :-)
But who where the first object Metacalss or Behavior? :-)
Math
Am 12.06.2006 um 23:51 schrieb mathieu:
Bert Freudenberg a écrit :
Am 12.06.2006 um 23:08 schrieb nicolas cellier:
Le Dimanche 11 Juin 2006 14:54, mathieu a écrit :
An other things intresting is where do nil being initialized? [I know he is an old friend but it should have been born in a certain time :-) ]
I think this one is so essential, that you can only find it in some bootstrap method not written in Smalltalk.
There must be a few initializer that you will hardly find in the image, like initialization of Smalltalk (I mean SystemDictionary). Did you see something like Smalltalk at: #Smalltalk put: Smalltalk ?
Like the (Metaclass class class) knot...
Like the Process stuff...
Feel free to discover more!
You must admit that an image must have been created once ex nihilo (or rather ex C-code glue).
Most certainly not C. The first Smalltalk prototype was a BASIC program, Smalltalk-72 was coded in assembly. We'd have to ask Dan to be sure where the nil instance in Squeak comes from ...
- Bert -
Yes like an historian job. :-)
The ultimate historic reference is Alan Kay's "The Early History of Smalltalk" in "History of Programming Languages HOPL-II", which you can find in a scientific library near you. Or print this scanned version (it's hard to read on screen):
http://www.smalltalk.org/downloads/papers/SmalltalkHistoryHOPL.pdf
(there are HTML versions of this on the net, but they all have transcription errors AFAIK)
Also, Dwight Hughes has collected several papers about Smalltalk history:
And, to understand the life at PARC, where Smalltalk was born, I very much like "Dealers of Lightning" by Hiltzik. An enlightening read :)
Very instresting. :-)
But who where the first object Metacalss or Behavior? :-)
I'd guess Object was the first behavior. Metaclasses where only introduced much much later, in Smalltalk-80, and many agree they are an unnecessary complication.
- Bert -
On Tue, 13 Jun 2006 08:45:21 +0200, Bert Freudenberg wrote:
Am 12.06.2006 um 23:51 schrieb mathieu:
But who where the first object Metacalss or Behavior? :-)
I'd guess Object was the first behavior. Metaclasses where only introduced much much later, in Smalltalk-80, and many agree they are an unnecessary complication.
Mathieu, you might also be interested in
- http://groups.google.com/groups?q=Implementing+classes+Ducasse+%22little%20s...
which talks about implementing classes from scratch.
/Klaus
- Bert -
beginners@lists.squeakfoundation.org