[self-interest] Info

Michael Lewis lewis_michael at yahoo.com
Wed Feb 21 09:06:30 UTC 2001


 Can someone please help me out, Im new to this stuff
so please bear with me.
 Before delving into cel/self, I thought it usefull to
atleast code up a very
 basic system.
 I can see that if I drop the premise of 'all objects'
it becomes much easier,
 but I'd like to keep the Smalltalk/Self etc idea of
all objects.

 So I have a basic Objects structure as:


 struct Object {
	int ref_count;
	bool isMethod;
	vector<Object*> inst_vars;
 };

 Canonical Classes
 -----------------
  Class, Object, ....

 Example
 -------

  Class: 
	[ Class	]
	[1	]
	[ false	]
	-> [ Integer ]		[Object]	[Object]		[Dictinary]
	   [false]		[false]		[false]			[false]
	   [ no. of inst_vars]	[SuperObject]
[ClassObject=?nil?]	[Methods]

	... [Method	]
	    [true	]
	    [....	]
	
  ... which relies on 'Object', 'Dictionary',
'Methods', 'Integer', 'Symbol', 'String'


  Now I can see that I need to do some bootstrapping
of the objects,

  I'd have a 'GlobalSymbolTable' 

	Object* 	| Object*
	<Symbol>  	<Index to Object Table>
	
	[Class]	 	[x]
	[Object] 	[x]
	[Symbol] 	[x]
 	[Dictionary]	[x]
	...
	...

  but how on earth do you go about that bootstrap
process??

 
  I've seen 'Little Smalltalk' but it does not
describe how the bootstrap process
  works,

  Anyone have any ideas??? .... evry time I think
about it, I manage
  to invent a chicken and an egg and then decide which
comes first, tho'
  sometimes I manage half and egg and half a chicken
[basically bad]...

__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - Buy the things you want at great prices! http://auctions.yahoo.com/



More information about the Self-interest mailing list