Squid language (was: Looking for tools for supportoftheoretical informatics research)

Stephane Ducasse ducasse at iam.unibe.ch
Sat Jul 12 12:38:49 UTC 2003


Hi anthony

you should have a look at AGORA a prototype based language developed in 
the PROG lab at the VUB.
There is at least one PhD on it and several ecoop papers on mixins. 
Look for Patrick Steayert and Wolf Demeuter.


Stef


On Saturday, July 12, 2003, at 04:19 AM, Anthony Hannan wrote:

> The best thing I like about lambda-objects (Lisp) is that they can be
> nested inside one another arbitrarily, providing namespaces and
> encapsulation/security.  For example:
>
>  Array _ [
> 	ObjectMemory _ here arg.
> 	[
> 		elements _ nil.
> 		instance _ [
> 			here dispatch: {
> 				#at: -> [ObjectMemory record: elements at: here arg].
> 				#at:put: -> [...].
> 				...
> 			}
> 		].
> 		here dispatch: {
> 			#new: -> [
> 				elements := ObjectMemory allocate: here arg.
> 				instance
> 			]
> 		}
> 	]
>  ].
>
>  [
> 	ObjectMemory _ [
> 		collectGarbage _ [...].
> 		[
> 			here dispatch: {
> 				#allocate: -> [
> 					...
> 					collectGarbage value.
> 					...
> 				].
> 				#record:at: -> [...].
> 				...
> 			}
> 		]
> 	] value.
> 	Array := Array value: ObjectMemory.
>  ] value.
>
> Array "imports" ObjectMemory without ObjectMemory being available to
> anyone else.  Also, collectGarbage in ObjectMemory is private to
> ObjectMemory; sender can't invoke it.
>
> Cheers,
> Anthony
>
>



More information about the Squeak-dev mailing list