Hi!

I have doubt that #example: will be enough in the case of Roassal. 
Having a code example browser is indeed important and having a descent way to 
search for the examples is also important. I am thinking to stick to #example 
and infer some categories from the source code (e.g., if the method contains a 
Zinc class, then it may be categorized in network).


Cheers,
Alexandre

> Le 22-10-2014 à 7:38, Torsten Bergmann <asta...@gmx.de> a écrit :
> 
> Hi Tudor,
> 
> that should be easy now: look at CompiledMethod>>#isExampleMethod which can 
> be adopted as needed.
> 
> Checking for the <example> pragma could be done this way:
> 
>   self pragmas anySatisfy: [:pragma | pragma keyword = #example ]
> 
> but we should think first if this is enough.
> 
> I already proposed to not only annotate with a pragma <example> but 
> additionally give a category.
> Like this:
> 
>   <example: 'Graphics'>
>   <example: 'Network'>
> 
> This way we can easily build an example browser for our users where people 
> can go through
> their point of interest and browse the examples.
> 
> Maybe we should also rethink pragmas (in Pharo 5.0?) in general to be more 
> Smalltalk 
> like:
>  
>   <Example category: 'Graphics'>
> 
> where Example is a real class in the system (!). One can even make it more 
> explicit 
> then 
> 
>   <ExampleCategory graphics>
> 
> with ExampleCategory(class)>>graphics returning a translateable string. 
> People can add
> own categories and one easily knows about already available ones.
> 
> 
> Now that classes can have properties in Pharo 4.0 already I would like to see 
> a unification
> for methods and classes here (with the general concept of an "Annotation" in 
> our metamodel). 
> 
> In my opinion a method pragma is just a special form of annotating a method. 
> 
> And annotating classes is usefull as well (for instance you want to annotate 
> a class with
> the appropriate Table name in an ORM framework, ...)
> 
> A comment (in a method or in a class) is also nothing more than a special 
> annotation.
> A class/method category is also an annotation. If unified a method or a class 
> could
> be in one or more categories. Even a break point for an expression is IMHO 
> just an 
> annotation.   
> 
> Bye
> T.
> 
> 
> Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr
> Von: "Tudor Girba" <tu...@tudorgirba.com>
> An: "Pharo Development List" <pharo-...@lists.pharo.org>
> Cc: "Any question about pharo is welcome" <pharo-users@lists.pharo.org>
> Betreff: Re: [Pharo-dev] Clickable class side example and initialize methods 
> in Pharo 4.0
> 
> Hi Torsten,
>  
> Thanks for this. This is indeed the way to go.
>  
> Just to let you know, the example infrastructure is also being developed in 
> the context of GT, so we have a healthy interest overlap which is great. Only 
> in our case, the discovery of the example happens through an <example> 
> pragma. Would it be possible to change your slice to use this pragma instead 
> of the example* convention?
>  
> Cheers,
> Doru
>  
>  
>  
> On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann <asta...@gmx.de> wrote:One 
> addition I implemented for Nautilus is that one can run examples directly
> in the browser just by clicking on class side example methods icons.
> 
> See 
> https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus]
> for a picture.
> 
> 
> SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON THE CLASS 
> SIDE
>            AND LET THE SELECTOR START WITH "example".
> 
> This way people will easily see that it is an example and can run them. 
> Additionally it
> would help to put them into a category like "examples". So be a good citized 
> and
> provide not only class comments but also examples for others to study.
> 
> 
> Side note:
> ==========
> It is also possible to click on the icon of class side initialize methods so 
> the
> class get reinitialized (after a confirmation to avoid false clicking).
> 
> https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus]
> 
> Both issues are already integrated.
>   
>  --
> www.tudorgirba.com[http://www.tudorgirba.com]
>  
> "Every thing has its own flow"
> 

Reply via email to