On Mon, Jun 22, 2015 at 11:17 PM, Torsten Bergmann <asta...@gmx.de> wrote:
> Hi Peter,
>
> there was no agreement - so we rolled back for Pharo 4 to discuss/decide for 
> Pharo 5.
>
> I communicated already how I would solve it to get IMHO a consistent and
> easy understandable solution:
>
> 1. executable example
> =====================
>   We talk about executable code here: an "example" in the traditional 
> Smalltalk sense
>   means ONLY a runnable piece of code to demonstrate something. Since a long 
> time and not only in Pharo this
>   is typically done in methods with prefix "example". It is important to note 
> that these methods COULD BUT
>   MUST NOT RETURN an instance. Usually such a method is only there to 
> demonstrate code.
>
>   These methods with the "example" in the name are currently honored by 
> Nautilus with the
>   clickable icon. See SystemProgressMorph>>exampleChangeLabel or others.
>
>   => To not be limited to the prefix in the method name I proposed to be able
>      to additionally use the <example> pragma to mark example methods.
>      This way you can choose the method name freely to give an example to 
> others
>      on how to use them.
>
> 2. returning examples
> =====================
>   While some example methods just demo code and code usage (like "Job 
> example" or "BorderedMorph exampleGradient")
>   a subset of them directly return an instance of the method defining class 
> (like LabelMorph>>example).
>
>   The idea of the GT Tools is to call these methods and display the return 
> value as inspectable "instances" in the tools,
>   so for instance if you inspect class VirtualMachine or Character you get a 
> tab entitled "E.g." where you can click on
>   these sample instances.
>
>   GT and (because GT )now latest Pharo currently still uses "gtExample" 
> method prefix or <gtExample> pragma to mark such methods and there
>   is also to wish to remove the "gt" prefix. But with this we would have a 
> clash with the other "exampleXXX" usage.
>
>   => I would propose to mark the code examples that return an instance with 
> an <exemplar> method.
>
>      According to Google definition of <exemplar> noun - "a person or thing 
> serving as a typical example or excellent model."
>      Urban dictionary defines <exemplar> as  "a typical or standard model or 
> specimen"
>
> So I proposed and still propose
>  - "exampleXXX"  prefixed methods and <example> pragma for traditional 
> examples as used in other Smalltalks and Pharo before
>  - "exemplarXXX" prefixed methods and <exemplar> pragma (mark code that 
> return an instance always) for the future inspection
>    of exemplars in the tools

Sorry. I'm going to have to play the native english speaker card here.
I could live with it, but "examplar" just doesn't sound right for this.

* Dictionary meanings are useful, but meaning can be skewed without
contemporary context.
* Dictionaries cover a lot of corner cases, some inherited from a
hundred years ago, and language evolves.  They may remain technically
correct and understandable, but not sound "right".
* I've probably only seen the word used couple of times in my life,
never in this context.
* I notice its also a German word.  I expect its hard to disassociate
from its common German usage.   Sorry, after English stole it from
German, it probably corrupted it.
* Check its synonyms: "epitome, perfect example, shining example,
model, paragon, ideal...". This is its contemporary meaning and I
guess the returned sample won't be expected to be the "best most
perfect sample".  It will just be "some sample" or a "basic sample"
for you to inspect.
* "Sample" is 2 characters shorter than "Exemplar" to fit in label of
the GT tab.  I presume its useful to match the tab label with the
pragma.

cheers -ben

Reply via email to