[ANN] Aconcagua - A model of Measures

Maximiliano Taborda m.taborda at fibertel.com.ar
Tue Mar 28 11:40:14 UTC 2006


Hi Brian.

This version of the package can´t be loaded into a 3.8xxx image. The 
package was created using a 3.9axxx image.
I don´t know why it can't be loaded into a 3.8xxx image, maybe the 
Monticello packages are not compatibles between 3.9axxx and 3.8xxx images.

If you want, try to load it into a 3.9axxx image.

Regards

Maxi.

Brian Rice escribió:
> This sounds nice. Some comments:
>
> 1) I can't load it. Adding the repository via Monticello and trying to 
> even select the version in the Monticello browser leads to the 
> attached error stack.
>
> ------------------------------------------------------------------------
>
> 27 March 2006 6:45:10 pm
>
> VM: Mac OS - a SmalltalkImage
> Image: Squeak3.8 [latest update: #6665]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Users/water/Developer/Squeak
> Trusted Dir /Users/water/Developer/Squeak
> Untrusted Dir foobar/tooBar/forSqueak/bogus
>
> MCClassDefinition(Object)>>error:
> 	Receiver: a MCClassDefinition(ArithmeticObject)
> 	Arguments and temporary variables: 
> 		aString: 	'Instances of MCClassDefinition are not indexable'
> 	Receiver's instance variables: 
> 		name: 	#ArithmeticObject
> 		superclassName: 	#Object
> 		variables: 	an OrderedCollection()
> 		category: 	#'Aconcagua-ArithmeticModel'
> 		type: 	#normal
> 		comment: 	''
> 		commentStamp: 	''
>
> MCClassDefinition(Object)>>errorNotIndexable
> 	Receiver: a MCClassDefinition(ArithmeticObject)
> 	Arguments and temporary variables: 
>
> 	Receiver's instance variables: 
> 		name: 	#ArithmeticObject
> 		superclassName: 	#Object
> 		variables: 	an OrderedCollection()
> 		category: 	#'Aconcagua-ArithmeticModel'
> 		type: 	#normal
> 		comment: 	''
> 		commentStamp: 	''
>
> MCClassDefinition(Object)>>size
> 	Receiver: a MCClassDefinition(ArithmeticObject)
> 	Arguments and temporary variables: 
>
> 	Receiver's instance variables: 
> 		name: 	#ArithmeticObject
> 		superclassName: 	#Object
> 		variables: 	an OrderedCollection()
> 		category: 	#'Aconcagua-ArithmeticModel'
> 		type: 	#normal
> 		comment: 	''
> 		commentStamp: 	''
>
> MCClassDefinition(Object)>>basicAt:put:
> 	Receiver: a MCClassDefinition(ArithmeticObject)
> 	Arguments and temporary variables: 
> 		index: 	1
> 		value: 	'{}'
> 	Receiver's instance variables: 
> 		name: 	#ArithmeticObject
> 		superclassName: 	#Object
> 		variables: 	an OrderedCollection()
> 		category: 	#'Aconcagua-ArithmeticModel'
> 		type: 	#normal
> 		comment: 	''
> 		commentStamp: 	''
>
>
> --- The full stack ---
> MCClassDefinition(Object)>>error:
> MCClassDefinition(Object)>>errorNotIndexable
> MCClassDefinition(Object)>>size
> MCClassDefinition(Object)>>basicAt:put:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> MCClassDefinition(Object)>>instVarAt:put:
> MCClassDefinition(Object)>>readDataFrom:size:
> DataStream>>readInstance
> DataStream>>next
> DataStream>>readArray
> DataStream>>next
> OrderedCollection(Object)>>readDataFrom:size:
> DataStream>>readInstance
> DataStream>>next
> MCSnapshot(Object)>>readDataFrom:size:
> DataStream>>readInstance
> DataStream>>next
> [] in MCMczReader>>loadDefinitions {[:m | ^ definitions := (DataStream on: m contentStream) next definitions]}
> ZipFileMember(Object)>>ifNotNilDo:
> MCMczReader>>loadDefinitions
> MCMczReader(MCVersionReader)>>definitions
> MCMczReader(MCVersionReader)>>snapshot
> MCMczReader(MCVersionReader)>>basicVersion
> MCMczReader(MCVersionReader)>>version
> [] in MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed: {[:r | r version]}
> [] in MCHttpRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do: {[:class | aBlock   value: (class on: s)]}
> MCMczReader class(Object)>>ifNotNilDo:
> [] in MCHttpRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do: {[:s | (MCVersionReader readerClassForFileNamed: aString)   ifNotNilDo: [:cla...]}
> MCHttpRepository>>readStreamForFileNamed:do:
> MCHttpRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do:
> MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
> [] in MCHttpRepository(MCFileBasedRepository)>>versionFromFileNamed: {[self loadVersionFromFileNamed: aString]}
> [] in Dictionary>>at:ifAbsentPut: {[self at: key put: aBlock value]}
> Dictionary>>at:ifAbsent:
> Dictionary>>at:ifAbsentPut:
> MCHttpRepository(MCFileBasedRepository)>>versionFromFileNamed:
> MCFileRepositoryInspector>>versionSelection:
> PluggableListMorph>>changeModelSelection:
> PluggableListMorph>>mouseUp:
> PluggableListMorph(Morph)>>handleMouseUp:
> MouseButtonEvent>>sentTo:
> PluggableListMorph(Morph)>>handleEvent:
> PluggableListMorph(Morph)>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.  ActiveEvent := anEvent.  result := focusHolder     han...]}
> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> BlockContext>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendMouseEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h processEvents.  capturingGesture := capturingGest...]}
> ...etc...
>   
>
> ------------------------------------------------------------------------
>
>
>
> I opened the version as a Zip file and loaded snapshot/source.st from 
> it directly, instead, but it is inconvenient.
>
> 2) How does it relate to Helge Horch's Squeak port of Andrew Brault's 
> Dolphin package? Did you know of this package?
>
> http://home.netsurf.de/helge.horch/squeak/units.html
>
> The code looks more elaborate and complicated (350 kb of source is not 
> lightweight compared to 51 kb in Helge's package and 21 kb for the 
> equivalent Slate code) but has the same class names in several places. 
> However, I cannot tell if this complication is valuable or wasteful, 
> because there are not enough comments in the source file (actually it 
> looks like there are NO comments).
>
> A lot of the extra work appears to be a huge unit-test suite, which is 
> good. There is also some kind of graph model and some 
> evaluation/thunking mini-library. These seem to be useful only for 
> portability (since you are not using other equivalent Squeak 
> packages), so you may want to separate them for clarity.
>
> I also am not an ACM member, so I cannot read your paper until OOPSLA.
>
> 3) I like the MeasureBag idea. Does it work for non-Integer values and 
> why or why not?
>
> 4) "Measure" suggests measurement, which has precision and tolerance. 
> Do you take these into consideration? If not, why name it Measurement 
> instead of DimensionedUnit or something? It will be confusing if 
> someone makes a separate type system that /does/ handle precision and 
> tolerance.
>
> Thanks!
>
> On Mar 27, 2006, at 2:17 PM, Hernan Wilkinson wrote:
>
>> Hi,
>>    we create a packaged named Aconcagua at SqueakSource.
>>    This model represents measures as first class objects, that is, an 
>> object that encapsulates a number with its unit.
>>    We uploaded a FAQ to its SqueakSource wiki, with some examples. 
>> The model includes almost 600 tests that can be used as examples also.
>>    We use this model in many of the financial applications we wrote 
>> and it is used by the Gregorian Calendar model we are going to upload 
>> soon (the one presented at ESUG last year).
>>    The package is going to be available for VisualAge, GemStone, 
>> VisualWorks and Dolphin. (Right now only on Squeak, VisualAge and 
>> GemStone).
>>    There is also a practitioner report we wrote for OOPSLA about this 
>> model:      
>> (http://portal.acm.org/citation.cfm?id=1094964&coll=ACM&dl=ACM&CFID=72196433&CFTOKEN=8952623 
>> <http://portal.acm.org/citation.cfm?id=1094964&coll=ACM&dl=ACM&CFID=72196433&CFTOKEN=8952623>) 
>>
>>    We hope you like it.
>>    Bye, Hernan.
> -- 
> -Brian
> http://tunes.org/~water/brice.vcf
>
> ------------------------------------------------------------------------
>
>
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20060328/9ac168ba/attachment.htm


More information about the Squeak-dev mailing list