[ANN] Squeak RB release

PhiHo Hoang phiho.hoang at home.com
Sat Sep 29 21:57:29 UTC 2001


Hi,

> If you want to start off picking on a weaker victim, just go after my code
:-)

    Just to set the record straight, I am not trying to pick on a victim,
weak or strong ;-)

    I am simply learning a wonderful tool that will help me in learning the
Squeak Micro Kernel Image available, hopefully, after we have a module
system in place.

> The fix will be integrated into the next version.

    While you are at it, maybe you want to look at
PluggableListMorphOfMany's when it's neighbors resize.

    Many thanks to all who gave us RB and SmallLint. Please keep up with the
excellent work.

    Cheers,

    PhiHo.

----- Original Message -----
From: <danielv at netvision.net.il>
To: <squeak-dev at lists.squeakfoundation.org>
Sent: Saturday, September 29, 2001 7:25 AM
Subject: Re: [ANN] Squeak RB release


> Thanks for the bug report!
> The fix will be integrated into the next version.
>
> About Lint/Code bugs -
> Well, that depends on your expectations, I guess...
>
> I inspected the results for Object, and it would appear that it hosts
> lots of messages that are "misplaced", in a sense. For example, this
> snippet of code out of one of those methods -
>
> class := self class.
> class isMeta ifTrue: [^self]. "a class"
> new := self clone.
> class isSystemDefined
> ifFalse:
> [uc := deepCopier uniClasses at: class ifAbsent: [nil].
> uc ifNil:
> [deepCopier uniClasses at: class
> put: (uc := self copyUniClassWith: deepCopier).
>
> Objects don't implement copyUniClassWith:, but the tests will protect
> most objects from venturing there. That generally works (so it's not a
> bug), and I bet there are some reasonable tradeoffs involved (so maybe
> it's not even Lint). It would me or you some effort to decide either
> way, but I sure wouldn't expect it of Smalllint ;-)
>
> Generally speaking, Smalllint is more useful on young code (where what
> looks like a stupid mistake is more likely to be one), but you never
> know. From a quick inspection, there's lots of good work that can be
> done cleaning up the Kernel classes starting from a Lint report on it.
> If you want to start off picking on a weaker victim, just go after my
> code :-)
>
> One enhancement that I know of, and I'll integrate as soon as I'm told
> it's ready, is a better mechanism to tell Smalllint to ignore
> "infractions" (using comments in the code).
>
> Anyway, thanks for the feedback!
> Daniel
>
> "PhiHo Hoang" <phiho.hoang at home.com> wrote:
> > Hi Daniel,
> >
> >     I got a walk back 'Error: subscript is out of bounds: 0' when
clicking
> > in SmallLint Results window where there are no result messages.
> >
> >     I am learning to use RB and found that SmallLint reports 39
'messages
> > sent but not implemented' bugs for Kernel-Objects and Kernel-Classes.
Are
> > there really bugs for these two categories or it's SmallLint's bug ;-)
> >
> >
> > Cheers,
> >
> > PhiHo
> >
> > ----- Original Message -----
> > From: <danielv at netvision.net.il>
> > To: <squeak-dev at lists.squeakfoundation.org>
> > Sent: Friday, September 28, 2001 8:51 PM
> > Subject: [ANN] Squeak RB release
> >
> >
> > > Hey guys, another release is up.
> > > A couple of fixes, and one main new feature - a search feature based
on
> > > parse tree matching.
> > >
> > > This lets you find just about any pattern in the code that you can
> > > describe. You can look in a class, a class category, or all the system
> > > (that'll take a while!).
> > >
> > > The way the search work is like this -
> > > You give it a pattern that looks like the code you want to match
> > > `@exp halt
> > >
> > > will match "3 halt" and also "(3 + 4) halt".
> > >
> > > You can also specify a test clause. For example,
> > >
> > > The pattern -
> > > `@Expression
> > > with the test clause -
> > > aNode isVariable and:
> > > [(class _ Smalltalk classNamed: aNode name) isBehavior and:
> > > [class allSuperclasses includes: Morph]]
> > >
> > > Will look for every expression, that's a variable, that's really a
> > > global, and a class, and a subclass of Morph (In short, you'll see all
> > > the methods that reference some Morph class explicitly).
> > >
> > > Note that the clause is really compiled as the body of a block, that
> > > recieves aNode as it's only parameters.
> > >
> > > To invoke the search, go to the "RB - Class" menu, and poke the "ind
> > > code like..." item.
> > > Invoking it with no class will apply the search to the category, if no
> > > category either, then all categories.
> > >
> > > To load the RB, do (btw, tests show you must delete any Squeak%20RB
> > > projects from your Squeaklets directory) -
> > > ProjectLoading
> > > installRemoteNamed: 'Squeak%20RB.pr'
> > > from:
> > >
'http://squeak.heeg.de:8080/TFODC69UQ0MFRIHMG40DRML1CU7VYZ9-4/Squeak%20R
> > > B.pr'
> > > named: 'SqueakRB'
> > > in: Project current.
> > >
> > > Daniel
> > > PS - anyone know the rationale for Project>>fromUrl: working only for
> > > the predefined servers?
> > >
> > >
>
>





More information about the Squeak-dev mailing list