+1 couldn't agree more :) On Thu, Mar 26, 2015 at 1:06 PM, Esteban Lorenzano <estebanlm@gmail.com> wrote:
Ok⦠my 2c:
Basically there is a difference between an âexampleâ and a prototype, which is what the gtExample intends to do. Exemplar is just another way to name a prototype. Sorry to make you sad and tired⦠but when you introduce such an important new tool as all the gtools are, you cannot expect people to accept all your choices âas isâ⦠and debate is the only way to achieve some consensus.
Esteban
ps: we are just days from release and we are all stressed a lot⦠so lets take a breath and consider things with the appropriate distance. We are not talking about the cure for cancer here, just the right name for a pragma, in a method.
On 26 Mar 2015, at 10:02, Torsten Bergmann <astares@gmx.de> wrote:
Hi Tudor,
We will rename <example> back to <gtExample> and keep the API as it is. That will leave Pharo 4 with one <example> method while the other 100 will use <gtExample>. This will be available with the next GT integration.
As I already wrote (and Guillermo equally pointed out): most of them are there because you created/introduced many extension methods with GT to provide these sample instances like in $a for Charater or 42 for Integer, ... Which is completely valid to demonstrate how usefull your new extension is. But it is because you investigated so far more to demonstrate this new mechanism.
And yes, currently we have just one <example> in the image (beside some other in external projects). But if we do not want to rely on the exampleXXX pattern anymore we will mark the typical example methods with <example> in the future and would have around 140 in the latest image:
|coll| coll := IdentitySet new. Object withAllSubclassesDo: [:aClass | aClass class selectorsDo: [:selector | (selector beginsWith: 'example') ifTrue: [ coll add: selector ] ]]. ^coll
If we dont mark them I agree that there are only a few counterwise.
But again: from my side it is not about the current numbers. It is about the future mechanism, clear and understandable concepts and naming.
The usualy exampleXXX demos for code fits well with <example> from the name and mentally. "Example" is a very generous term for something to look at and learn.
In Pharo one can now demonstrate in the new GT inspector lively ready made instances! You feature and the research bound to it is not only important but a real improvement. I like that and I'm sure this will push us forward a lot.
Still IMHO mentally using <example> for depicting "code to look at" does fit namewise and conceptualy very well with the known and usual example methods in the image or external packages. Some of them provide an instance, but many of them just show how to use code.
And yes: I would the new GT mechanism to use a term and pragma name that better depicts what should be provided from the one who uses it: typical example instances or exemplars of the class.
When one creates a class
Object subclass: #RevolutionarySystem instanceVariableNames: 'name' classVariableNames: '' category: 'The-World'
he can implement a class side method to use the new mechanism:
uniqueExemplar <exemplar>
^RevolutionarySystem called: 'Pharo'
And this class side method returns an exemplary instance. If such a method should also serves as an example method (in the tradition of a code example to look at) one can even mark it with both pragmas.
The decision has nothing to do with arguments.
Why do you negotiate instead of (at a minimum) ellaborate what you think of the made proposal to use "exemplar" for the new GT mechanism.
See the definition for <exemplar>:
http://dictionary.reference.com/browse/exemplar "a model or pattern to be copied or imitated" "a typical example or instance"
http://www.thefreedictionary.com/exemplar "One that is worthy of imitation; a perfect example or model" "One that is typical or representative"
http://www.merriam-webster.com/dictionary/exemplar "an admired person or thing that is considered an example that deserves to be copied" "a typical example"
http://www.ldoceonline.com/dictionary/exemplar "formal a good or typical example"
http://www.dict.cc/?s=exemplar "instance" "specimen" "sample"
All the 100 instances now returns by GT extension are such exemplars: they are typical instances like $a or 42 one can use as a model or pattern to be copied or imitated.
Would'nt that perfectly fit with what you intended with your new feature: the preview should help people to just inspect a class, look at the new "e.g." tab and learn from premade instances?
The release is too important and we got distracted from the goal.
No doubt that the release is important and fixing it NOW from the technical side is easy as I demonstrated with the changeset. I guess rolling back <gtExample> would take you more time than reviewing it.
Before doing any action on your side I would really like to know your opinion about <exemplar>. I'm fine when you can not accept it - but please tell me about the reasons.
Bye T.