[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
|