Frank Shearar uploaded a new version of Exceptions to project The Inbox:
http://source.squeak.org/inbox/Exceptions-fbs.40.mcz
==================== Summary ====================
Name: Exceptions-fbs.40
Author: fbs
Time: 30 January 2013, 12:26:24.885 pm
UUID: 44e7df62-7a42-42c4-91d1-617103362029
Ancestors: Exceptions-fbs.39
Exception hierarchy for errors where someone has forgotten to do something. NotImplementedError is the base class.
=============== Diff against Exceptions-fbs.39 ===============
Item was changed:
+ NotImplementedError subclass: #MessageNotUnderstood
- Error subclass: #MessageNotUnderstood
instanceVariableNames: 'message receiver reachedDefaultHandler'
classVariableNames: ''
poolDictionaries: ''
category: 'Exceptions-Kernel'!
!MessageNotUnderstood commentStamp: '<historical>' prior: 0!
This exception is provided to support Object>>doesNotUnderstand:.!
Item was added:
+ Error subclass: #NotImplementedError
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Exceptions-Kernel'!
Item was changed:
+ NotImplementedError subclass: #NotYetImplemented
- Error subclass: #NotYetImplemented
instanceVariableNames: 'receiverClass selector context'
classVariableNames: ''
poolDictionaries: ''
category: 'Exceptions-Kernel'!
!NotYetImplemented commentStamp: 'jcg 10/21/2009 01:20' prior: 0!
Sent by #notYetImplemented. Better than the age-old behavior of opening a notifier window, because this can be caught and handled.
!
Item was changed:
+ NotImplementedError subclass: #SubclassResponsibilityError
+ instanceVariableNames: ''
- Error subclass: #SubclassResponsibilityError
- instanceVariableNames: 'selector offendingClass calledArguments'
classVariableNames: ''
poolDictionaries: ''
category: 'Exceptions-Kernel'!
!SubclassResponsibilityError commentStamp: 'fbs 1/26/2013 00:20' prior: 0!
I am signalled when a subclass fails to implement an "abstract method" and something sends an instance of this subclass the unimplemented message.!
Hello,
Noticed that loking through implementors, in 4.4 is slow. So, tested
Browsing the onplementors of printOn: . To selecct in browser
different Reaction is instant in Squeak 3.6. 3.8.2 (VM 4.1.4)
4.1, 4.4 Cog
If I understand correctly, another difference between a FloatCollection and an OrderedCollection of Floats, besides the noted efficiency due to the use of FloatArray, is that a FloatCollection will store IEEE 32-bit single precision floats, while an OrderedCollection of Floats will store double precision floats. Is this correct? This is analogous to the current difference between an Array of Floats and a FloatArray.
On Jan 29, 2013, at 02:19 , commits(a)source.squeak.org wrote:
> Chris Muller uploaded a new version of Collections to project The Trunk:
> http://source.squeak.org/trunk/Collections-cmm.499.mcz
>
> ==================== Summary ====================
>
> Name: Collections-cmm.499
> Author: cmm
> Time: 28 January 2013, 8:19:08.858 pm
> UUID: 9af9bd27-3342-4203-88e5-22c85c57d5ae
> Ancestors: Collections-bf.498
>
> FloatCollection inherits the convenient add:/remove: API of OrderedCollection, but using an internal FloatArray for better efficiency.
>
> =============== Diff against Collections-bf.498 ===============
>
> Item was added:
> + OrderedCollection subclass: #FloatCollection
> + instanceVariableNames: ''
> + classVariableNames: ''
> + poolDictionaries: ''
> + category: 'Collections-Sequenceable'!
> +
> + !FloatCollection commentStamp: 'cmm 1/28/2013 19:49' prior: 0!
> + FloatCollctions store 32bit IEEE floating point numbers.!
>
> Item was added:
> + ----- Method: FloatCollection class>>arrayType (in category 'overriding') -----
> + arrayType
> + ^ FloatArray!
>
> Item was added:
> + ----- Method: FloatCollection>>addLast: (in category 'as yet unclassified') -----
> + addLast: aFloat
> + aFloat isNumber ifFalse: [ self error: 'This collection can only store Floats.' ].
> + ^ super addLast: aFloat!
>
>
Hi!
Try to print it: "TestCase methodDict values select: [:method | method =
(TestCase >> #setUp)]". It will show: "{(TestCase>>#tearDown "a
CompiledMethod(423)") . (TestCase>>#setUp "a CompiledMethod(1421)")}".
So "(TestCase>>#setUp) = (TestCase>>#tearDown)" evaluates to true.
Is this intended?
Squeak 4.4, CogVM (Dec 20, 2012), Win7
Best,
Marcel
--
View this message in context: http://forum.world.st/TestCase-setUp-TestCase-tearDown-tp4666363.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.
Hi Guys,
Is there a Squeak VM/Image for the Raspberry Pi running Raspbian wheezy?
Lou
-----------------------------------------------------------
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com
Hi All,
I just wanted to send a reminder that the Squeak Oversight Board election
ballots have gone out. Please VOTE!!
It's easy to forget or lose track of the email, so please vote while you
still know where the email is!
The subject is: Poll: Squeak Oversight Board 2013
Sent on 28th of Jan between 5 and 6pm Eastern Time.
From: andru(a)cs.cornell.edu; on behalf of; Ron Teitelbaum (CIVS poll
supervisor) ron(a)usmedrec.com
Thank you!!
Ron Teitelbaum
Frank Shearar uploaded a new version of Kernel to project The Inbox:
http://source.squeak.org/inbox/Kernel-fbs.733.mcz
==================== Summary ====================
Name: Kernel-fbs.733
Author: fbs
Time: 29 January 2013, 4:38:23.85 pm
UUID: 473959a5-97ca-425d-a84b-7440244c893b
Ancestors: Kernel-fbs.732
Move the Debugger's introspection of a context into ContextPart. Use the new SubclassResponsibilityError API.
=============== Diff against Kernel-fbs.732 ===============
Item was added:
+ ----- Method: ContextPart>>invocationMessage (in category 'accessing') -----
+ invocationMessage
+ "Upon sending messages like #doesNotUnderstand: or #subclassResponsibility - methods that will pop up a Debugger - return the Message that prompted the Debugger."
+ | sender selector args |
+ (self method selector == #doesNotUnderstand:) ifTrue: [^ self tempAt: 1].
+ sender := self sender.
+ selector := sender method selector.
+ args := Array new: selector numArgs.
+ 1 to: selector numArgs do: [ :i | args at: i put: (sender tempAt: i)].
+ ^ MessageSend receiver: self receiver selector: selector arguments: args.!
Item was added:
+ ----- Method: MessageSend>>asMessage (in category 'converting') -----
+ asMessage
+ ^ Message selector: selector arguments: arguments.!
Item was added:
+ ----- Method: MessageSend>>selectorCategory (in category 'accessing') -----
+ selectorCategory
+ "Return the category to which this message belongs (relative to the receiver). If no superclass categorises this message, use the default."
+ | organizers |
+ organizers := receiver class withAllSuperclasses collect: [:ea | ea organization].
+ organizers addFirst: receiver class organization.
+ ^ (organizers collect: [ :org | org categoryOfElement: selector])
+ detect: [:ea | ea ~= ClassOrganizer default and: [ ea ~= nil]]
+ ifNone: [ClassOrganizer default]!
Item was changed:
----- Method: Object>>subclassResponsibility (in category 'error handling') -----
subclassResponsibility
"This message sets up a framework for the behavior of the class' subclasses.
Announce that the subclass should have implemented this message."
+ SubclassResponsibilityError
+ signal: ('My {1} subclass should have overridden {2}'
+ format: {self className. thisContext sender selector}).!
- | exception args senderCtxt |
- "We must assign to a local variable so that the Debugger can access the exception through thisParticularContext tempAt: 1. This also means that the exception local must be the first local declared."
- senderCtxt := thisContext sender.
- "Copy the temps out of senderCtxt"
- args := OrderedCollection new.
- 1 to: senderCtxt selector numArgs do:
- [:idx | args addLast: (senderCtxt tempAt: idx)].
- exception := SubclassResponsibilityError
- class: self class
- selector: senderCtxt selector
- arguments: args.
- exception signal.!