Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 3 participants
- 144635 messages
Re: [Pharo-dev] <example>/<examplar>
by Tudor Girba
Hi,
> On Aug 20, 2016, at 1:29 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
>
>
> 2016-08-20 0:26 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
> Hi,
>
> > On Aug 20, 2016, at 12:22 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
> >
> >
> >
> > 2016-08-20 0:02 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
> > Hi,
> >
> > > On Aug 19, 2016, at 11:55 PM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
> > >
> > >
> > >
> > > 2016-08-19 23:13 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
> > > Hi,
> > >
> > > If you attache a certain action such as "result openInWorldâ to a pragma such as <interactiveExample>, it implies that when I have a different resulting object that should be spawned with a different message (for example, a Roassal view should be opened with "result open"), I should use a different pragma. That will quickly lead to an explosion of pragmas.
> > >
> > > Cheers,
> > > Doru
> > >
> > > I would not attach any action to a pragma, but instead let the different tools decide what to do. The pragma is just used to differentiate what the method execution returns:
> > >
> > > <example> or <exampleCode> - a code or script example - don't care about the returned object. A tool like Nautilus just provides a way to execute the code ("play" - icon) nothing more.
> > > <script> - a code snippet for a more general use case (example or class initialization). A tool like Nautilus just provices a way to execute the code and for example, like it is now, show a growl notification with the result
> > > <sample> or <sampleInstance> - code to create an instance. A tool like Nautilus can just provide a way to execute the code and open an inspector on the result. (The inspector itself can react differently for
> > > a morph -> inspectors morph tab
> > > a roassal view -> inspector tab for roassal view
> > > â¦.
> >
> > The inspector has the instance and can react to it. But, how can Nautilus know what to do without the instance? For that you would need static information.
> >
> > by the pragma name ?
> >
> > <example> -> execute
> > <sample> -> execute and inspect
> > <script> -> execute and show a growl information with the returned value.
>
> As I understood the discussion, one issue was to associate an action that can be specific to an object,
>
> No, that wasn't what I meant.
> The question was, do we need two pragmas <example> and <examplar>, if the <example> just opens a morph in the world instead of opening it in inspector.
> And I would say "yes", because for some "examples" (look at the <example> tagged methods for FastTable) it makes more sense to have the morph in the
> world instead of the inspector. But I don't want to associate this action #openInWorld to the pragma, instead, whoever writes the <example> method, should decide.
> an <example> method for a morph should end with #openInWorld
> an <example> method for a spec model should end with #openWithSpec
> an <example> method for a roassal example should end with #whateverIsUsedToOpenItInAView.
>
In this case, you will not be able to use the resulting object, and the new energy around examples started from the need to utilize that ability The other solution is to delegate the action to another pragma that can complement the example one.
Doru
> and the example given was a morph that people might want to interact with. This interaction would be achieved by sending openInWorld. But, maybe I misunderstood.
>
>
>
>
>
> Cheers,
> Doru
>
>
> >
> >
> >
> >
> >
> > Doru
> >
> >
> > > I am for <example> for the first case, <exampleCode> is good as well, but I like <example> more, and it is not uncommon to call some "code examples" just "examples"
> > > <sample> for a method that creates "the interesting object", <sampleInstance> is fine as well.
> > >
> > >
> > >
> > >
> > >
> > >
> > > > On Aug 19, 2016, at 10:32 AM, stepharo <stepharo(a)free.fr> wrote:
> > > >
> > > >
> > > >
> > > > Le 19/8/16 à 10:18, Tudor Girba a écrit :
> > > >> Hi,
> > > >>
> > > >> I strongly believe that the interaction should not be hardcoded in the example pragma name. That is because you will want all sorts of interactions once you go beyond the surface. For example, a Roassal visualization, a Bloc element, and a Morph are all interesting from an interaction point of view, but there are different ways to open them (and having it polymorphic does not quite make sense).
> > > >
> > > > sorry but I cannot understand what you mean.
> > > > You suggest to use example
> > > > but not to have it polymorphic?
> > > >>
> > > >> Cheers,
> > > >> Doru
> > > >>
> > > >>
> > > >>
> > > >>> On Aug 19, 2016, at 9:52 AM, stepharo <stepharo(a)free.fr> wrote:
> > > >>>
> > > >>> Let me know. I do not care about examplar or sample.
> > > >>>
> > > >>> Let us pick one that works well. I thought about prototype but this is too close to prototype based language.
> > > >>>
> > > >>> So we could get
> > > >>>
> > > >>> <interactiveExample>
> > > >>>
> > > >>> <sample>/<instance>/
> > > >>>
> > > >>>
> > > >>> Le 19/8/16 à 01:59, Ben Coman a écrit :
> > > >>>> On Fri, Aug 19, 2016 at 5:09 AM, Esteban A. Maringolo
> > > >>>> <emaringolo(a)gmail.com> wrote:
> > > >>>>> 2016-08-18 17:30 GMT-03:00 Stephan Eggermont <stephan(a)stack.nl>:
> > > >>>>>> On 18/08/16 14:38, stepharo wrote:
> > > >>>>>>> Hi
> > > >>>>>>>
> > > >>>>>>> In my projects I start to do the following:
> > > >>>>>>>
> > > >>>>>>> I create <examplar> class method that returns an prototypical instance.
> > > >>>>>> Nice. Excellent inititive. I'm not a native speaker, and <exemplar> does not
> > > >>>>>> sound like the right name for this to me. That might be me being dutch.
> > > >>>>>> Native speakers, is this the right name to use?
> > > >>>>> Semantically it is correct, but for me, also maybe by not being a
> > > >>>>> native English speaker, sounds weird.
> > > >>>>>
> > > >>>>> I'd use something like "sample". However I'll be fine with whatever
> > > >>>>> you choose. But I'd choose something that doesn't sound weird to
> > > >>>>> native English readers, we already have some cases of that.
> > > >>>>>
> > > >>>>> Regards,
> > > >>>>>
> > > >>>>>
> > > >>>>> Esteban A. Maringolo
> > > >>>>>
> > > >>>> In the previous thread I argued against <exemplar> and for <sample>,
> > > >>>> but I'm not so strong in my conviction to push it again :). The
> > > >>>> former is a little exotic, but is sufficient -- and perhaps its useful
> > > >>>> <example> and <exemplar> sound similar with just a minor difference at
> > > >>>> the end.
> > > >>>>
> > > >>>> P.S. In terms of discover-ability about this difference, a passing
> > > >>>> thought is it would be nice for newcomers to be able to hover over a
> > > >>>> code like a pragma and get a tool tip popup.
> > > >>>>
> > > >>>> cheers -ben
> > > >>>>
> > > >>>>
> > > >>>
> > > >> --
> > > >> www.tudorgirba.com
> > > >> www.feenk.com
> > > >>
> > > >> "Next time you see your life passing by, say 'hi' and get to know her."
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >
> > > >
> > >
> > > --
> > > www.tudorgirba.com
> > > www.feenk.com
> > >
> > > "It's not how it is, it is how we see it."
> > >
> > >
> > >
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "Obvious things are difficult to teach."
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Yesterday is a fact.
> Tomorrow is a possibility.
> Today is a challenge."
--
www.tudorgirba.com
www.feenk.com
"In a world where everything is moving ever faster,
one might have better chances to win by moving slower."
Aug. 20, 2016
Re: [Pharo-dev] Usability issue : the class/instance button in Pharo 5 gives poor feedback
by Oscar Nierstrasz
Well, as a user I want to see the current context as well. Thanks for pointing out that the methods and protocols on the class side are bold! Now that I know this I will watch for it; but it is not at all obvious.
Following your point about buttons indicating what they would do, why not have the button say (C) when it would switch to the class view and (I) when it would switch back to the Instance view?
Oscar
> On Fri, Aug 19, 2016 at 02:15:06PM +0200, Oscar Nierstrasz wrote:
>>
>> Hi Folks,
>>
>> Does anyone else find this to be a problem? I can never tell whether I am on the class or the instance side as the button toggle is non-obvious. In fact, the (C) is more clearly visible on the instance side, which is counter intuitive.
>>
>> I would rather see the name of the button change between ?Instance? and ?Class? so I always know where I am.
>
> This would be imho confusing, because you would always see the opposite (it's a button, so the label should state what should happen when you click on it, not describing the current context).
>
> But there is also another visual clue which always makes it obvious (for me at least) on which side I am: on class side all methods are bold.
>
> Peter
Aug. 20, 2016
Re: [Pharo-dev] STON and (default) line endings
by stepharo
I got bitten by messy files recently and I have the impression that you
should have
in and out line ending settings (because may be you want to see Ston one
way and output the other)
And for the image I'm afraid by the amount of code it will break but it
would be really good.
May be migrating to Xtreams first should be the path.
Stef
Le 19/8/16 à 14:55, Sven Van Caekenberghe a écrit :
> Yes it would make much more sense to default to LF EOL (maybe not on Windows) in this century, but that is true for the whole image ...
>
>> On 19 Aug 2016, at 14:49, Peter Uhnak <i.uhnak(a)gmail.com> wrote:
>>
>> Hi,
>>
>> can we have a class-side configuration for STON line ending?
>>
>> Atm if I want to output with LF instead of CR (which is always),
>> then I have to always do this
>>
>> String streamContents: [ :stream |
>> (STON writer on: stream)
>> prettyPrint: true;
>> newLine: String lf;
>> nextPut: data
>> ].
>>
>> I would be much happier if at least I could do this
>>
>> STON lineEnding: String lf
>>
>> (I could put the above in a StartupScript)
>>
>> And then just use regular STON toStringPretty: data.
>>
>>
>> And I would be even happier if
>>
>> STON class>>lineEnding
>> ^ String lf
>>
>> or
>>
>> STON class>>lineEnding
>> ^ OSPlatform current isWindows
>> ifTrue: [ String crlf ]
>> ifFalse: [ String lf ]
>>
>> (Although always using LF by default might be preferable.)
>>
>> To summarize, it would be great if we could:
>>
>> * switch STON to LF _by default_
>> * allow users to easily switch to CR/CRLF if they need
>>
>> Thanks,
>> Peter
>>
>
>
Aug. 20, 2016
Beta of Mooc webportal
by stepharo
Hi
I published a new version of the webportal (a packaged version of the
mooc) with the help of thibault. Now I'm about to test that all the
videos have indeed the correct subtitles.
If you want to give me a hand or simply have a look
http://rmod-pharo-mooc.lille.inria.fr/MOOC/WebPortal/co/pharo.html
Once everything will be verified we will push it to the mooc web page
and announce it.
Stef
Aug. 20, 2016
Re: [Pharo-dev] <example>/<examplar>
by stepharo
>> stepharo wrote
>>> Let me know. I do not care about examplar or sample.
>> In the original thread [1]:
>> - The most popular naming option was for some combination of
>> exampleInstance, exampleCode, sampleInstance, and sampleCode because they
>> are both natural-sounding-to-native-ears and explicit.
>> - There was a small (Ben and I) consensus leaning specifically toward
>> <exampleCode> together with <sampleInstance>
> That makes a lot of sense, so +1
>
> And UI stuff would then be a case of <exampleCode> right, as side effect ?
Yes
So <sampleInstance> instead of <examplar>
Do we agree?
and I just do update the slice.
Stef
>
>> - Exemplar (note it's not spelled exAmplar) is a bit obscure English
>> - There were some more exotic parameterized varieties discussed, but maybe
>> it's best to save those for a future evolution
>>
>> [1]
>> http://forum.world.st/lt-example-gt-pragmas-and-example-methods-use-cases-t…
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> View this message in context: http://forum.world.st/example-examplar-tp4911728p4911947.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>>
>
>
Aug. 20, 2016
Re: [Pharo-dev] <example>/<examplar>
by stepharo
by the pragma name ?
>
> <example> -> execute
> <sample> -> execute and inspect
> <script> -> execute and show a growl information with the returned value.
Exactly. :)
This is the way I implemented it.
Stef
Aug. 20, 2016
Re: [Pharo-dev] [squeak-dev] [Ann] Cuis now runs on Spur!
by Chris Muller
Cuis on Spur? Its like a powerful engine in a lightweight car. I
can't imagine how blazing fast the UI must be. Easy Juan, you'll
break the speed limits! :)
On Fri, Aug 19, 2016 at 10:28 AM, <juanlists(a)jvuletich.org> wrote:
> Hi Folks,
>
> I've successfully finished the Spur conversion of Cuis. I was able to merge
> all required changes to Cuis compiler and make it work in both
> ObjectMemories. Cuis is now offered in Spur and pre-Spur formats. And the
> best part is that they share 100% of the source code. There is no forking!
>
> This means that there is no extra work in maintaining both flavors. So, we
> are not leaving anyone behind. It also means that, at deployment, you might
> chose between better performance and larger memory (with Spur) or smaller
> footprint and SqueakJS compatibility (with pre-Spur).
>
> I've just updated our GitHub repo
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev . Included are
> Cuis4.2-2906-spur.image and Cuis4.2-2906.image, and, as usual, the whole
> update stream. I wrote a brief description of the Spur conversion at
> Documentation/SpurConversion.md, in case you want to reproduce it, or apply
> it to your own Cuis images.
>
> The images seem very stable. Please test them, load your code, and report
> any issues. This work was enabled by Eliot Miranda and the OpenSmalltalk
> team who develop Spur, VMMaker and the Spur bootstrap. Thank you folks! I
> also used Squeak 5 as a reference implementation of Compiler and related
> stuff. I also want to thank the greater Squeak community for it.
>
> Some cleanup is in order. The scaffolding I did for the conversion,
> including dual Compilers is still in the image. I'll be cleaning it soon.
> I'll also be able to pay a bit more attention to unrelated suggestions and
> ongoing discussion at cuis-dev(a)cuis-smalltalk.org
>
> Enjoy!
>
> Cheers,
>
> Juan Vuletich
> www.cuis-smalltalk.org
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> @JuanVuletich
>
>
Aug. 19, 2016
Re: [Pharo-dev] <example>/<examplar>
by Nicolai Hess
2016-08-20 0:26 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
> Hi,
>
> > On Aug 20, 2016, at 12:22 AM, Nicolai Hess <nicolaihess(a)gmail.com>
> wrote:
> >
> >
> >
> > 2016-08-20 0:02 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
> > Hi,
> >
> > > On Aug 19, 2016, at 11:55 PM, Nicolai Hess <nicolaihess(a)gmail.com>
> wrote:
> > >
> > >
> > >
> > > 2016-08-19 23:13 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
> > > Hi,
> > >
> > > If you attache a certain action such as "result openInWorldâ to a
> pragma such as <interactiveExample>, it implies that when I have a
> different resulting object that should be spawned with a different message
> (for example, a Roassal view should be opened with "result open"), I should
> use a different pragma. That will quickly lead to an explosion of pragmas.
> > >
> > > Cheers,
> > > Doru
> > >
> > > I would not attach any action to a pragma, but instead let the
> different tools decide what to do. The pragma is just used to differentiate
> what the method execution returns:
> > >
> > > <example> or <exampleCode> - a code or script example - don't care
> about the returned object. A tool like Nautilus just provides a way to
> execute the code ("play" - icon) nothing more.
> > > <script> - a code snippet for a more general use case (example or
> class initialization). A tool like Nautilus just provices a way to execute
> the code and for example, like it is now, show a growl notification with
> the result
> > > <sample> or <sampleInstance> - code to create an instance. A tool
> like Nautilus can just provide a way to execute the code and open an
> inspector on the result. (The inspector itself can react differently for
> > > a morph -> inspectors morph tab
> > > a roassal view -> inspector tab for roassal view
> > > â¦.
> >
> > The inspector has the instance and can react to it. But, how can
> Nautilus know what to do without the instance? For that you would need
> static information.
> >
> > by the pragma name ?
> >
> > <example> -> execute
> > <sample> -> execute and inspect
> > <script> -> execute and show a growl information with the returned value.
>
> As I understood the discussion, one issue was to associate an action that
> can be specific to an object,
No, that wasn't what I meant.
The question was, do we need two pragmas <example> and <examplar>, if the
<example> just opens a morph in the world instead of opening it in
inspector.
And I would say "yes", because for some "examples" (look at the <example>
tagged methods for FastTable) it makes more sense to have the morph in the
world instead of the inspector. But I don't want to associate this action
#openInWorld to the pragma, instead, whoever writes the <example> method,
should decide.
an <example> method for a morph should end with #openInWorld
an <example> method for a spec model should end with #openWithSpec
an <example> method for a roassal example should end with
#whateverIsUsedToOpenItInAView.
> and the example given was a morph that people might want to interact with.
> This interaction would be achieved by sending openInWorld. But, maybe I
> misunderstood.
>
>
> Cheers,
> Doru
>
>
> >
> >
> >
> >
> >
> > Doru
> >
> >
> > > I am for <example> for the first case, <exampleCode> is good as well,
> but I like <example> more, and it is not uncommon to call some "code
> examples" just "examples"
> > > <sample> for a method that creates "the interesting object",
> <sampleInstance> is fine as well.
> > >
> > >
> > >
> > >
> > >
> > >
> > > > On Aug 19, 2016, at 10:32 AM, stepharo <stepharo(a)free.fr> wrote:
> > > >
> > > >
> > > >
> > > > Le 19/8/16 à 10:18, Tudor Girba a écrit :
> > > >> Hi,
> > > >>
> > > >> I strongly believe that the interaction should not be hardcoded in
> the example pragma name. That is because you will want all sorts of
> interactions once you go beyond the surface. For example, a Roassal
> visualization, a Bloc element, and a Morph are all interesting from an
> interaction point of view, but there are different ways to open them (and
> having it polymorphic does not quite make sense).
> > > >
> > > > sorry but I cannot understand what you mean.
> > > > You suggest to use example
> > > > but not to have it polymorphic?
> > > >>
> > > >> Cheers,
> > > >> Doru
> > > >>
> > > >>
> > > >>
> > > >>> On Aug 19, 2016, at 9:52 AM, stepharo <stepharo(a)free.fr> wrote:
> > > >>>
> > > >>> Let me know. I do not care about examplar or sample.
> > > >>>
> > > >>> Let us pick one that works well. I thought about prototype but
> this is too close to prototype based language.
> > > >>>
> > > >>> So we could get
> > > >>>
> > > >>> <interactiveExample>
> > > >>>
> > > >>> <sample>/<instance>/
> > > >>>
> > > >>>
> > > >>> Le 19/8/16 à 01:59, Ben Coman a écrit :
> > > >>>> On Fri, Aug 19, 2016 at 5:09 AM, Esteban A. Maringolo
> > > >>>> <emaringolo(a)gmail.com> wrote:
> > > >>>>> 2016-08-18 17:30 GMT-03:00 Stephan Eggermont <stephan(a)stack.nl>:
> > > >>>>>> On 18/08/16 14:38, stepharo wrote:
> > > >>>>>>> Hi
> > > >>>>>>>
> > > >>>>>>> In my projects I start to do the following:
> > > >>>>>>>
> > > >>>>>>> I create <examplar> class method that returns an prototypical
> instance.
> > > >>>>>> Nice. Excellent inititive. I'm not a native speaker, and
> <exemplar> does not
> > > >>>>>> sound like the right name for this to me. That might be me
> being dutch.
> > > >>>>>> Native speakers, is this the right name to use?
> > > >>>>> Semantically it is correct, but for me, also maybe by not being a
> > > >>>>> native English speaker, sounds weird.
> > > >>>>>
> > > >>>>> I'd use something like "sample". However I'll be fine with
> whatever
> > > >>>>> you choose. But I'd choose something that doesn't sound weird to
> > > >>>>> native English readers, we already have some cases of that.
> > > >>>>>
> > > >>>>> Regards,
> > > >>>>>
> > > >>>>>
> > > >>>>> Esteban A. Maringolo
> > > >>>>>
> > > >>>> In the previous thread I argued against <exemplar> and for
> <sample>,
> > > >>>> but I'm not so strong in my conviction to push it again :). The
> > > >>>> former is a little exotic, but is sufficient -- and perhaps its
> useful
> > > >>>> <example> and <exemplar> sound similar with just a minor
> difference at
> > > >>>> the end.
> > > >>>>
> > > >>>> P.S. In terms of discover-ability about this difference, a passing
> > > >>>> thought is it would be nice for newcomers to be able to hover
> over a
> > > >>>> code like a pragma and get a tool tip popup.
> > > >>>>
> > > >>>> cheers -ben
> > > >>>>
> > > >>>>
> > > >>>
> > > >> --
> > > >> www.tudorgirba.com
> > > >> www.feenk.com
> > > >>
> > > >> "Next time you see your life passing by, say 'hi' and get to know
> her."
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >
> > > >
> > >
> > > --
> > > www.tudorgirba.com
> > > www.feenk.com
> > >
> > > "It's not how it is, it is how we see it."
> > >
> > >
> > >
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "Obvious things are difficult to teach."
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Yesterday is a fact.
> Tomorrow is a possibility.
> Today is a challenge."
>
>
>
>
>
>
Aug. 19, 2016
Re: [Pharo-dev] <example>/<examplar>
by Tudor Girba
Hi,
> On Aug 20, 2016, at 12:22 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
>
>
> 2016-08-20 0:02 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
> Hi,
>
> > On Aug 19, 2016, at 11:55 PM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
> >
> >
> >
> > 2016-08-19 23:13 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
> > Hi,
> >
> > If you attache a certain action such as "result openInWorldâ to a pragma such as <interactiveExample>, it implies that when I have a different resulting object that should be spawned with a different message (for example, a Roassal view should be opened with "result open"), I should use a different pragma. That will quickly lead to an explosion of pragmas.
> >
> > Cheers,
> > Doru
> >
> > I would not attach any action to a pragma, but instead let the different tools decide what to do. The pragma is just used to differentiate what the method execution returns:
> >
> > <example> or <exampleCode> - a code or script example - don't care about the returned object. A tool like Nautilus just provides a way to execute the code ("play" - icon) nothing more.
> > <script> - a code snippet for a more general use case (example or class initialization). A tool like Nautilus just provices a way to execute the code and for example, like it is now, show a growl notification with the result
> > <sample> or <sampleInstance> - code to create an instance. A tool like Nautilus can just provide a way to execute the code and open an inspector on the result. (The inspector itself can react differently for
> > a morph -> inspectors morph tab
> > a roassal view -> inspector tab for roassal view
> > â¦.
>
> The inspector has the instance and can react to it. But, how can Nautilus know what to do without the instance? For that you would need static information.
>
> by the pragma name ?
>
> <example> -> execute
> <sample> -> execute and inspect
> <script> -> execute and show a growl information with the returned value.
As I understood the discussion, one issue was to associate an action that can be specific to an object, and the example given was a morph that people might want to interact with. This interaction would be achieved by sending openInWorld. But, maybe I misunderstood.
Cheers,
Doru
>
>
>
>
>
> Doru
>
>
> > I am for <example> for the first case, <exampleCode> is good as well, but I like <example> more, and it is not uncommon to call some "code examples" just "examples"
> > <sample> for a method that creates "the interesting object", <sampleInstance> is fine as well.
> >
> >
> >
> >
> >
> >
> > > On Aug 19, 2016, at 10:32 AM, stepharo <stepharo(a)free.fr> wrote:
> > >
> > >
> > >
> > > Le 19/8/16 à 10:18, Tudor Girba a écrit :
> > >> Hi,
> > >>
> > >> I strongly believe that the interaction should not be hardcoded in the example pragma name. That is because you will want all sorts of interactions once you go beyond the surface. For example, a Roassal visualization, a Bloc element, and a Morph are all interesting from an interaction point of view, but there are different ways to open them (and having it polymorphic does not quite make sense).
> > >
> > > sorry but I cannot understand what you mean.
> > > You suggest to use example
> > > but not to have it polymorphic?
> > >>
> > >> Cheers,
> > >> Doru
> > >>
> > >>
> > >>
> > >>> On Aug 19, 2016, at 9:52 AM, stepharo <stepharo(a)free.fr> wrote:
> > >>>
> > >>> Let me know. I do not care about examplar or sample.
> > >>>
> > >>> Let us pick one that works well. I thought about prototype but this is too close to prototype based language.
> > >>>
> > >>> So we could get
> > >>>
> > >>> <interactiveExample>
> > >>>
> > >>> <sample>/<instance>/
> > >>>
> > >>>
> > >>> Le 19/8/16 à 01:59, Ben Coman a écrit :
> > >>>> On Fri, Aug 19, 2016 at 5:09 AM, Esteban A. Maringolo
> > >>>> <emaringolo(a)gmail.com> wrote:
> > >>>>> 2016-08-18 17:30 GMT-03:00 Stephan Eggermont <stephan(a)stack.nl>:
> > >>>>>> On 18/08/16 14:38, stepharo wrote:
> > >>>>>>> Hi
> > >>>>>>>
> > >>>>>>> In my projects I start to do the following:
> > >>>>>>>
> > >>>>>>> I create <examplar> class method that returns an prototypical instance.
> > >>>>>> Nice. Excellent inititive. I'm not a native speaker, and <exemplar> does not
> > >>>>>> sound like the right name for this to me. That might be me being dutch.
> > >>>>>> Native speakers, is this the right name to use?
> > >>>>> Semantically it is correct, but for me, also maybe by not being a
> > >>>>> native English speaker, sounds weird.
> > >>>>>
> > >>>>> I'd use something like "sample". However I'll be fine with whatever
> > >>>>> you choose. But I'd choose something that doesn't sound weird to
> > >>>>> native English readers, we already have some cases of that.
> > >>>>>
> > >>>>> Regards,
> > >>>>>
> > >>>>>
> > >>>>> Esteban A. Maringolo
> > >>>>>
> > >>>> In the previous thread I argued against <exemplar> and for <sample>,
> > >>>> but I'm not so strong in my conviction to push it again :). The
> > >>>> former is a little exotic, but is sufficient -- and perhaps its useful
> > >>>> <example> and <exemplar> sound similar with just a minor difference at
> > >>>> the end.
> > >>>>
> > >>>> P.S. In terms of discover-ability about this difference, a passing
> > >>>> thought is it would be nice for newcomers to be able to hover over a
> > >>>> code like a pragma and get a tool tip popup.
> > >>>>
> > >>>> cheers -ben
> > >>>>
> > >>>>
> > >>>
> > >> --
> > >> www.tudorgirba.com
> > >> www.feenk.com
> > >>
> > >> "Next time you see your life passing by, say 'hi' and get to know her."
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >
> > >
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "It's not how it is, it is how we see it."
> >
> >
> >
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Obvious things are difficult to teach."
--
www.tudorgirba.com
www.feenk.com
"Yesterday is a fact.
Tomorrow is a possibility.
Today is a challenge."
Aug. 19, 2016
Re: [Pharo-dev] GT-Spotter dive in shortcut
by Tudor Girba
Hi Nicolai,
Did we clarify this issue? Is there something else I can help (or maybe to disturb/annoy :)) with ?
Cheers,
Doru
> On Aug 10, 2016, at 5:11 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>
> Oh man :). Ok I think got it now. Thanks for the patience. I see the confusion: the agreement was that we will override the shortcut in the Spotter text-input. So, letâs go for this.
>
> The layering thing was supposed to be a separate issue.
>
> Cheers,
> Doru
>
>
>
>> On Aug 10, 2016, at 12:05 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>>
>>
>>
>> 2016-08-09 23:36 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
>> Hi,
>>
>>> On Aug 9, 2016, at 11:31 PM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>>>
>>>
>>>
>>> 2016-08-09 22:53 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
>>> Hi,
>>>
>>>> On Aug 9, 2016, at 10:48 PM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>>>>
>>>>
>>>>
>>>> 2016-08-09 18:12 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
>>>> Hi,
>>>>
>>>>>
>>>>> Hey Doru,
>>>>> about what "two issues" are we talking? My only issue for now is,
>>>>> what shortcut shold we use for moving the cursor forward/backward word. Even if we introduce a new layer, at some point in time you need to
>>>>> define: If the user types the CTRL+LEFT -key, even if we call it differently, some action happens, dive-out or move-backward-word ?
>>>>> At the moment (on windows) you can use both to move word-by-word:
>>>>> ctrl+left/right and alt+left/right, because this is how it is defined in rubrics action/cmdaction map.
>>>>>
>>>>> If we want to clean this up and use the kmdispatcher registration, I think we don't want to use both ctr and alt again, right?
>>>>> So, someone has to take the decision.
>>>>> I myself would prefer
>>>>> ctrl+left/right because this is what (all) many other programs are using on windows. Fine. But recently Spotter changed its
>>>>> dive in / dive out shortcut to use ctrl+left/right.
>>>>> Therefor I am asking you, why, and whether we want to keep it or not. If we want to keep it, we may
>>>>> - just overwrite the binding for the textfield -> not good, I think, you wouldn't be able to do word-by-word movements in the textfield anymore
>>>>> - overwrite the binding and use another binding for word-by-word moving, but just in spotters text field
>>>>> Or we revert that change and use the old shortcuts again.
>>>>> (And what to use for mac and linux?)
>>>>>
>>>>> but I am getting really tired of asking, and will do something else instead.
>>>>
>>>> The short answer: we will override the keybinding in the text morph for now. This will mean that we cannot move word by word in the text field using #control, but it will be consistent with all other platforms. Could you open an issue for this, please?
>>>>
>>>>
>>>> consistens on all platforms may not be the expectation for all users. Some users only working on a windows platform may want to have consistent behavior for all tools (applications).
>>>
>>> Well, you wanted a decision :).
>>>
>>>
>>>> On top of that, we will externalize all GTSpotter shortcuts through settings:
>>>> https://pharo.fogbugz.com/f/cases/18455/Spotter-shortcuts-should-be-externa…
>>>>
>>>> I really don't know why that.
>>>
>>> Because we do not have a generic KMDispatcher mechanism :).
>>>
>>> yes and it does not make much sense as not all shortcuts are handled by the kmdispatcher, thats why cleaning this
>>> up and I think it would be better to do this instead of implementing yet another only-for-this-tool solution.
>>
>> Ok. What should I do?
>>
>>
>>>> We don't need a way to make Spotter shortcuts configurable, but *all* shortcuts.
>>>> That is why I try to move all shortcut definitions to the kmdispatcher, but it yet again took 2 month just to discuss what shortcut to use for cursor movement.
>>>
>>> I am not sure I understand. Was this me that stalled the discussion? If yes, it was not intentional. Is there anything I can do about this subject?
>>>
>>> The whole discussion, the me: "hey, what shortcut to use?" you:"hey we have a great idea, just let us add some new layers" :(
>>
>> I think I miss something because I do not see how the layers have anything to do with the cursor movement. Or do you mean for diving in Spotter? I still think that the layers idea is a relevant one and does not conflict with anything we talked about here.
>>
>> Ok once again.
>> ctrl+arrow and meta+arrow both do cursor movements in rubrik, but it is registered on the action/cmd-map (RubTextEditor>>defaultCommandKeymapping)
>> ctrl+arrow do dive-in/dive-out in spotter, this is registered on spotters window, and this takes precedence over rubrics crtrl+Arrow handling because :
>>
>> 1. kmdispatcher looks in rubrics editor kmregistry -> no action
>> 2. kmdispatcher looks in rubrics morph kmregistry -> no action
>> .... up the morphs owner chain until it reaches spotter
>> x. kmdispatcher looks in spotters window morph kmregistry -> Action! Dive-in / Dive-out
>>
>> Now! If I move ctrl+Arrow shortcut registration for cursor movement from rubrics action/-cmd-map to its kmdispatcher registration, the following happens
>> 1. kmdispatcher looks in rubrics editor kmregistry -> Action ! move the cursor
>>
>> -> no spotter dive-in/dive-out anymore :-(
>>
>> two solutions:
>> use a different shortcut for cursor movement (that is what I aksed in this thread, and why I opened issue 18432)
>> use a different shortcut for spotter (this is why I started this thread and asked why this was changed at all)
>> overwrite spotters shortcut registration (just like now, but not on spotters window, but on the text field (I opened now a fogbugz issue 18900))
>>
>> anyway, you said, you want to wait with changing spotters shortcut registration until we have the new layers, therefore I can only wait until that
>> happens.
>>
>>
>>
>>
>> In any case, I did not mean to confuse anyone. Please take the lead concerning the KMDispatcher and I can review if you want.
>>
>> Doru
>>
>>
>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>>
>>>> Long answer: As explained before, the shortcut changed in the process of making all shortcuts uniform when Guille introduced #meta instead of #command (like it was before). The thing is that currently:
>>>> - #command means #alt on Win and #command on Mac, and
>>>> - #meta means #control on Win and #command on Mac.
>>>>
>>>> But, #command should be a low level key, not a portable one. It should not have a meaning on Windows, because the key does not exist on that platform.
>>>>
>>>> Moving to make keybindings uniform is a good thing, but only having #meta is not enough for situation like the one you mention. That is why I am proposing to introduce a #secondaryMeta as a platform-independent modifier that would mean #alt on Win and #control on Mac. We could use that one more consistently. Is this a better explanation?
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>> www.feenk.com
>>>>
>>>> "Presenting is storytelling."
>>>
>>> --
>>> www.tudorgirba.com
>>> www.feenk.com
>>>
>>> "One cannot do more than one can do."
>>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "When people care, great things can happen."
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Problem solving efficiency grows with the abstractness level of problem understanding."
>
>
>
>
--
www.tudorgirba.com
www.feenk.com
"Problem solving efficiency grows with the abstractness level of problem understanding."
Aug. 19, 2016