Smalllint for Traits

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

Smalllint for Traits

aizcorbe
Hi all, as part of a thesis I have been working on, I extended Smalllint to let it check Traits and Traits specific errors.

The enviroment objects and the refactoring scope browsers now handles and list classes and traits (before they just handled classes).  The new refactoring scope selection is available at  "refactoring scope>selection all behaviors" menu option.

The smalllint framework have been extended and is available at "refactor>code critics extended".  
These are some of the changes:
smalllint rules can now check traits and traits methods.
a new rule presentation schema is available, which lets to spot the place where the error is actually located and also add extra information to the rule result (but is more difficult to define the rules in this way).

For extra information about the changes and how can they be used you can refer to:

http://dc.uba.ar/inv/tesis/licenciatura/2012/aizcorbe.pdf (refer to chapter 4 if you want to bypass all the conceptual background )

there was also added some rules to check Traits specific errors.

The Smalllint for Traits extension is available for pharo 1.3 and is located in:

http://www.squeaksource.com/TesisTraitLint

the packages are organized as follows:

OBLintTraitExtension.1.3 (the smalltalk environment extension to add Traits handling capabilities).
TraitLint.1.3                 (the Smalllint extension itself and the Traits rules implementation).
TraitLintTest.1.3           (the unit tests for the Smalllint extension and the rules implementation, it is not mandatory).

I hope you find this useful.
cheers
Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Fernando olivero-2
Cool work! It would be nice to have in the latest Pharo 2.0, so it can be integrated.
Think about integrating it into SmallLint, if not, your nice work maybe will get lost.
Saludos,
Fernando


On Wed, Jan 9, 2013 at 2:04 AM, aizcorbe <[hidden email]> wrote:
Hi all, as part of a thesis I have been working on, I extended Smalllint to
let it check Traits and Traits specific errors.

The enviroment objects and the refactoring scope browsers now handles and
list classes and traits (before they just handled classes).  The new
refactoring scope selection is available at  "refactoring scope>selection
all behaviors" menu option.

The smalllint framework have been extended and is available at
"refactor>code critics extended".
These are some of the changes:
smalllint rules can now check traits and traits methods.
a new rule presentation schema is available, which lets to spot the place
where the error is actually located and also add extra information to the
rule result (but is more difficult to define the rules in this way).

For extra information about the changes and how can they be used you can
refer to:

http://dc.uba.ar/inv/tesis/licenciatura/2012/aizcorbe.pdf (refer to chapter
4 if you want to bypass all the conceptual background )

there was also added some rules to check Traits specific errors.

The Smalllint for Traits extension is available for pharo 1.3 and is located
in:

http://www.squeaksource.com/TesisTraitLint

the packages are organized as follows:

OBLintTraitExtension.1.3 (the smalltalk environment extension to add Traits
handling capabilities).
TraitLint.1.3                 (the Smalllint extension itself and the Traits
rules implementation).
TraitLintTest.1.3           (the unit tests for the Smalllint extension and
the rules implementation, it is not mandatory).

I hope you find this useful.
cheers



--
View this message in context: http://forum.world.st/Smalllint-for-Traits-tp4662559.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Stéphane Ducasse
In reply to this post by aizcorbe
Thanks

We will have a look and integrate your smallLint rules.

Stef

On Jan 9, 2013, at 2:04 AM, aizcorbe wrote:

> Hi all, as part of a thesis I have been working on, I extended Smalllint to
> let it check Traits and Traits specific errors.
>
> The enviroment objects and the refactoring scope browsers now handles and
> list classes and traits (before they just handled classes).  The new
> refactoring scope selection is available at  "refactoring scope>selection
> all behaviors" menu option.
>
> The smalllint framework have been extended and is available at
> "refactor>code critics extended".  
> These are some of the changes:
> smalllint rules can now check traits and traits methods.
> a new rule presentation schema is available, which lets to spot the place
> where the error is actually located and also add extra information to the
> rule result (but is more difficult to define the rules in this way).
>
> For extra information about the changes and how can they be used you can
> refer to:
>
> http://dc.uba.ar/inv/tesis/licenciatura/2012/aizcorbe.pdf (refer to chapter
> 4 if you want to bypass all the conceptual background )
>
> there was also added some rules to check Traits specific errors.
>
> The Smalllint for Traits extension is available for pharo 1.3 and is located
> in:
>
> http://www.squeaksource.com/TesisTraitLint
>
> the packages are organized as follows:
>
> OBLintTraitExtension.1.3 (the smalltalk environment extension to add Traits
> handling capabilities).
> TraitLint.1.3                 (the Smalllint extension itself and the Traits
> rules implementation).
> TraitLintTest.1.3           (the unit tests for the Smalllint extension and
> the rules implementation, it is not mandatory).
>
> I hope you find this useful.
> cheers
>
>
>
> --
> View this message in context: http://forum.world.st/Smalllint-for-Traits-tp4662559.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>


Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Damien Cassou
In reply to this post by aizcorbe
n Wed, Jan 9, 2013 at 2:04 AM, aizcorbe
<[hidden email]> wrote:
> I hope you find this useful.

sure we do, thank you very much. Unfortunately, we are mainly focused
on Pharo 2.0 currently. Would you mind porting your work to Pharo 2.0?
I created the issue to track your work:

http://code.google.com/p/pharo/issues/detail?id=7223

Best


--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill

Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

aizcorbe
I have taken a look to pharo 2.0 and i didn't see omnibrowser there, is it going to be kept? Anyway the available smalllint implementation can be modified to let it check traits, but without all the omnibrowser extension.
Btw... there are 14 smalllint traits rules implemented, including unit tests, but in the thesis there are identified a total of 36 traits errors, just in case someone what to take a look or implement them.

btw2... On my experience working with pharo and traits, i had many problems because it was usual to get errors on browsers, environments and others because they didn't handled traits properly.  I think it would be nice if the environment tools didn't differenciate (whenever it makes sense) between classes and traits.  In my thesis I propose the idea of behavior (since both define behavior) as a unifying entity for traits and classes.  In this way, the environment tools would handle behaviors instead of just classes.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Damien Cassou
On Thu, Jan 10, 2013 at 12:30 AM, aizcorbe
<[hidden email]> wrote:
> I have taken a look to pharo 2.0 and i didn't see omnibrowser there, is it
> going to be kept? Anyway the available smalllint implementation can be
> modified to let it check traits, but without all the omnibrowser extension.
> Btw... there are 14 smalllint traits rules implemented, including unit
> tests, but in the thesis there are identified a total of 36 traits errors,
> just in case someone what to take a look or implement them.


we don't plan to include omnibrowser in Pharo 2 as nobody is
maintaining it and we have Nautilus now. Still, we would be interested
in your rules and their integration inside Nautilus (there shouldn't
be too many things to change)


> btw2... On my experience working with pharo and traits, i had many problems
> because it was usual to get errors on browsers, environments and others
> because they didn't handled traits properly.  I think it would be nice if
> the environment tools didn't differenciate (whenever it makes sense) between
> classes and traits.  In my thesis I propose the idea of behavior (since both
> define behavior) as a unifying entity for traits and classes.  In this way,
> the environment tools would handle behaviors instead of just classes.

I agree with you, a lot of work has to be done so that developers can
play with traits nicely.

Thank you for your work and thesism I'm looking forward to read it


--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill

Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Frank Shearar-3
On 10 January 2013 08:17, Damien Cassou <[hidden email]> wrote:

> On Thu, Jan 10, 2013 at 12:30 AM, aizcorbe
> <[hidden email]> wrote:
>> I have taken a look to pharo 2.0 and i didn't see omnibrowser there, is it
>> going to be kept? Anyway the available smalllint implementation can be
>> modified to let it check traits, but without all the omnibrowser extension.
>> Btw... there are 14 smalllint traits rules implemented, including unit
>> tests, but in the thesis there are identified a total of 36 traits errors,
>> just in case someone what to take a look or implement them.
>
>
> we don't plan to include omnibrowser in Pharo 2 as nobody is
> maintaining it and we have Nautilus now. Still, we would be interested
> in your rules and their integration inside Nautilus (there shouldn't
> be too many things to change)

The lint rules ought to be in a separate package so that both
OmniBrowser and Nautilus folk could use and improve the same set of
rules, shouldn't they? Each could have their own package hooking the
rules up to the relevant UIs, of course.

frank

>> btw2... On my experience working with pharo and traits, i had many problems
>> because it was usual to get errors on browsers, environments and others
>> because they didn't handled traits properly.  I think it would be nice if
>> the environment tools didn't differenciate (whenever it makes sense) between
>> classes and traits.  In my thesis I propose the idea of behavior (since both
>> define behavior) as a unifying entity for traits and classes.  In this way,
>> the environment tools would handle behaviors instead of just classes.
>
> I agree with you, a lot of work has to be done so that developers can
> play with traits nicely.
>
> Thank you for your work and thesism I'm looking forward to read it
>
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
>

Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Stéphane Ducasse
In reply to this post by aizcorbe
We agree.
In fact the problem is that trait and classes are not polymorphic and this is what the implementation of andreas ws resolving.
We will have to propose a solution to this problem one of these days.

Stef


>
> btw2... On my experience working with pharo and traits, i had many problems
> because it was usual to get errors on browsers, environments and others
> because they didn't handled traits properly.  I think it would be nice if
> the environment tools didn't differenciate (whenever it makes sense) between
> classes and traits.  In my thesis I propose the idea of behavior (since both
> define behavior) as a unifying entity for traits and classes.  In this way,
> the environment tools would handle behaviors instead of just classes.
>
> cheers
>
>
>
> --
> View this message in context: http://forum.world.st/Smalllint-for-Traits-tp4662559p4662687.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>


Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

aizcorbe
I just uploaded an migration of the Smalllint for Traits using Nautilus and Pharo 2.0.  I added the information here: http://code.google.com/p/pharo/issues/detail?id=7223.

Cheers
Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Marcus Denker-4

On Feb 18, 2013, at 5:44 AM, aizcorbe <[hidden email]> wrote:

> I just uploaded an migration of the Smalllint for Traits using Nautilus and
> Pharo 2.0.  I added the information here:
> http://code.google.com/p/pharo/issues/detail?id=7223.
>
Very good! We should have a look at this and integrate it early in 3.0

        Marcus


Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Fernando olivero-2
In reply to this post by aizcorbe
Cool, thanks for investing time into this effort.

I guess the next step would be to work on the UI: improve Nautilus.

Fernando

On Mon, Feb 18, 2013 at 7:48 AM, Marcus Denker <[hidden email]> wrote:

>
> On Feb 18, 2013, at 5:44 AM, aizcorbe <[hidden email]> wrote:
>
>> I just uploaded an migration of the Smalllint for Traits using Nautilus and
>> Pharo 2.0.  I added the information here:
>> http://code.google.com/p/pharo/issues/detail?id=7223.
>>
> Very good! We should have a look at this and integrate it early in 3.0
>
>         Marcus
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

stephane ducasse
In reply to this post by aizcorbe
Thanks Juan Sebastian.
Did you sign the license agreement?

Stef

On Feb 18, 2013, at 5:44 AM, aizcorbe <[hidden email]> wrote:

> I just uploaded an migration of the Smalllint for Traits using Nautilus and
> Pharo 2.0.  I added the information here:
> http://code.google.com/p/pharo/issues/detail?id=7223.
>
> Cheers
>
>
>
> --
> View this message in context: http://forum.world.st/Smalllint-for-Traits-tp4662559p4670421.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>


Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

aizcorbe
No, i didn't sign any licence, what is this about?
Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Fernando olivero-2
In reply to this post by stephane ducasse
Hi, check out the following links.

http://www.pharo-project.org/license

http://pharo.gforge.inria.fr/licenseDocuments/PharoSoftwareDistributionAgreement.pdf

Saludos,
Fernando

On Tue, Feb 19, 2013 at 1:01 AM, aizcorbe
<[hidden email]> wrote:
> No, i didn't sign any licence, what is this about?
>
>
>
> --
> View this message in context: http://forum.world.st/Smalllint-for-Traits-tp4662559p4670573.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>

Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

gcotelli
Hi,
The license page needs an update, "Copyright (c) Pharo Project, and Contributors Copyright (c) 1996-2008 " must be "Copyright (c) Pharo Project, and Contributors Copyright (c) 1996-2013" ? 

Maybe "The Distribution Agreement" can be updated with the Pharo consortium as the distributor?

On Mon, Feb 18, 2013 at 9:38 PM, Fernando Olivero <[hidden email]> wrote:
Hi, check out the following links.

http://www.pharo-project.org/license

http://pharo.gforge.inria.fr/licenseDocuments/PharoSoftwareDistributionAgreement.pdf

Saludos,
Fernando

On Tue, Feb 19, 2013 at 1:01 AM, aizcorbe
<[hidden email]> wrote:
> No, i didn't sign any licence, what is this about?
>
>
>
> --
> View this message in context: http://forum.world.st/Smalllint-for-Traits-tp4662559p4670573.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>


Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

Damien Cassou
On Tue, Feb 19, 2013 at 2:46 AM, Gabriel Cotelli <[hidden email]> wrote:
> The license page needs an update, "Copyright (c) Pharo Project, and
> Contributors Copyright (c) 1996-2008 " must be "Copyright (c) Pharo Project,
> and Contributors Copyright (c) 1996-2013" ?


done


> Maybe "The Distribution Agreement" can be updated with the Pharo consortium
> as the distributor?


I have no idea. Steph ?

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill

Reply | Threaded
Open this post in threaded view
|

Re: Pharo software distribution agreement errata (was "Smalllint for Traits")

ccrraaiigg
In reply to this post by gcotelli

     Also, the PDF still has "CA 91201" in it, from the Viewpoints
version of the agreement (91201 is the zipcode for Glendale, California :).


-C

--
Craig Latta
www.netjam.org/resume
+31   6 2757 7177 (SMS ok)
+ 1 415 287 3547 (no SMS)


Reply | Threaded
Open this post in threaded view
|

Re: Pharo software distribution agreement errata (was "Smalllint for Traits")

aizcorbe
Ok, is it possible to send a scan of the signed licence? where can i send it? where is an updated version of the licence?

Cheers
Reply | Threaded
Open this post in threaded view
|

Re: Smalllint for Traits

stephane ducasse
In reply to this post by Damien Cassou

On Feb 19, 2013, at 11:22 AM, Damien Cassou <[hidden email]> wrote:

> On Tue, Feb 19, 2013 at 2:46 AM, Gabriel Cotelli <[hidden email]> wrote:
>> The license page needs an update, "Copyright (c) Pharo Project, and
>> Contributors Copyright (c) 1996-2008 " must be "Copyright (c) Pharo Project,
>> and Contributors Copyright (c) 1996-2013" ?
>
>
> done
>
>
>> Maybe "The Distribution Agreement" can be updated with the Pharo consortium
>> as the distributor?
>
>
> I have no idea. Steph ?

yes we should do that.

>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill


Reply | Threaded
Open this post in threaded view
|

Re: Pharo software distribution agreement errata (was "Smalllint for Traits")

stephane ducasse
In reply to this post by aizcorbe

On Feb 20, 2013, at 1:00 AM, aizcorbe <[hidden email]> wrote:

> Ok, is it possible to send a scan of the signed licence? where can i send it?

to me or marcus.

Stef

> where is an updated version of the licence?
we should update it.

>
> Cheers
>
>
>
> --
> View this message in context: http://forum.world.st/Smalllint-for-Traits-tp4662559p4670842.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>