Dear Pharo users,
OCompletion is an extension to ECompletion. Like ECompletion, it completes the names of methods as you write them in order to save you some typing. The O in OCompletion stands for Omniscient and Omnipresent. OCompletion is much more accurate than ECompletion. We tested it on the development history of several projects (see http://www.inf.unisi.ch/phd/robbes/papers/ASE2008-completion.pdf). Across several hundred thousands tests of the completion, OCompletion's algorithm scores a 70 (out of 100), while the eCompletion's algorithm scores a 12. To achieve this level of accuracy, it learns from your usage of squeak and proposes to you methods you are more likely to use. OCompletion shows a small, non-instrusive completion menu with potential completions as you type method names. You don't need to call it explicitely with tab. Just press tab to insert a match, or the down arrow to select the next match. To install it on Squeak or Pharo, simply execute the following line in your image: Installer squeaksource project: 'OCompletion'; install: 'OCLoader' Cheers, Romain -- Romain Robbes http://www.inf.unisi.ch/phd/robbes _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Thanks a lot romain.
Does OCompletion take into account that the receiver is a class (to look for class method only)? Stef On May 12, 2009, at 10:07 AM, Romain Robbes wrote: > Dear Pharo users, > > OCompletion is an extension to ECompletion. Like ECompletion, it > completes > the names of methods as you write them in order to save you some > typing. > The O in OCompletion stands for Omniscient and Omnipresent. > > OCompletion is much more accurate than ECompletion. We tested it on > the > development history of several projects > (see http://www.inf.unisi.ch/phd/robbes/papers/ASE2008- > completion.pdf). > > Across several hundred thousands tests of the completion, > OCompletion's > algorithm scores a 70 (out of 100), while the eCompletion's algorithm > scores a 12. To achieve this level of accuracy, it learns from your > usage > of squeak and proposes to you methods you are more likely to use. > > OCompletion shows a small, non-instrusive completion menu with > potential > completions as you type method names. You don't need to call it > explicitely > with tab. Just press tab to insert a match, or the down arrow to > select the next > match. > > To install it on Squeak or Pharo, simply execute the following line in > your image: > > Installer squeaksource project: 'OCompletion'; install: 'OCLoader' > > Cheers, > Romain > > -- > Romain Robbes > http://www.inf.unisi.ch/phd/robbes > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Not yet. In the paper we showed that it raises the score from 70 to
75, which is not so big compared to the previous improvement. But that's always doable. ;-) Romain On May 12, 2009, at 11:55 AM, Stéphane Ducasse wrote: > Thanks a lot romain. > Does OCompletion take into account that the receiver is a class (to > look for class method only)? > > Stef > On May 12, 2009, at 10:07 AM, Romain Robbes wrote: > >> Dear Pharo users, >> >> OCompletion is an extension to ECompletion. Like ECompletion, it >> completes >> the names of methods as you write them in order to save you some >> typing. >> The O in OCompletion stands for Omniscient and Omnipresent. >> >> OCompletion is much more accurate than ECompletion. We tested it on >> the >> development history of several projects >> (see http://www.inf.unisi.ch/phd/robbes/papers/ASE2008- >> completion.pdf). >> >> Across several hundred thousands tests of the completion, >> OCompletion's >> algorithm scores a 70 (out of 100), while the eCompletion's algorithm >> scores a 12. To achieve this level of accuracy, it learns from your >> usage >> of squeak and proposes to you methods you are more likely to use. >> >> OCompletion shows a small, non-instrusive completion menu with >> potential >> completions as you type method names. You don't need to call it >> explicitely >> with tab. Just press tab to insert a match, or the down arrow to >> select the next >> match. >> >> To install it on Squeak or Pharo, simply execute the following line >> in >> your image: >> >> Installer squeaksource project: 'OCompletion'; install: 'OCLoader' >> >> Cheers, >> Romain >> >> -- >> Romain Robbes >> http://www.inf.unisi.ch/phd/robbes >> >> >> _______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Romain Robbes http://www.inf.unisi.ch/phd/robbes _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On May 12, 2009, at 12:55 PM, Romain Robbes wrote: > Not yet. In the paper we showed that it raises the score from 70 to > 75, which is not so big compared to the previous improvement. > > But that's always doable. ;-) :) I found that this was really frustrating not to get class methods :) Stef > > _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Romain Robbes
Hi Romain,
On Tue, May 12, 2009 at 10:07 AM, Romain Robbes <[hidden email]> wrote: > To install it on Squeak or Pharo, simply execute the following line in > your image: > > Installer squeaksource project: 'OCompletion'; install: 'OCLoader' thank you very much, this is great news. Could you please create a package on Universes? How-to: http://wiki.squeak.org/squeak/5899 Does it work on OB (see ECompletionOmniBrowser)? and what about the workspace ? Does it work with traits too (see ECompletionTraits)? Thank you -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Hi Damien,
Yes, it also works on OmniBrowser, and in the Workspace too. I suppose it works also with Traits, but I haven't tried. Cheers, Romain On May 13, 2009, at 3:26 PM, Damien Cassou wrote: > Hi Romain, > > On Tue, May 12, 2009 at 10:07 AM, Romain Robbes > <[hidden email]> wrote: >> To install it on Squeak or Pharo, simply execute the following line >> in >> your image: >> >> Installer squeaksource project: 'OCompletion'; install: 'OCLoader' > > thank you very much, this is great news. Could you please create a > package on Universes? How-to: http://wiki.squeak.org/squeak/5899 > > Does it work on OB (see ECompletionOmniBrowser)? and what about the > workspace ? Does it work with traits too (see ECompletionTraits)? > > Thank you > > -- > Damien Cassou > http://damiencassou.seasidehosting.st > > "Lambdas are relegated to relative obscurity until Java makes them > popular by not having them." James Iry > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Romain Robbes http://www.inf.unisi.ch/phd/robbes _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Hi,
I have been using OCompletion since a day and I like it's non- intrusive smartness :). I have two style comments: - I would perhaps change is the background color of the hint to be something less ... Squeak-ish :). - The font of the hints is not affected by my overall font settings. Perhaps using the balloon-help font would work better. Cheers, Doru On 13 May 2009, at 16:07, Romain Robbes wrote: > Hi Damien, > > Yes, it also works on OmniBrowser, and in the Workspace too. > I suppose it works also with Traits, but I haven't tried. > > Cheers, > Romain > > On May 13, 2009, at 3:26 PM, Damien Cassou wrote: > >> Hi Romain, >> >> On Tue, May 12, 2009 at 10:07 AM, Romain Robbes >> <[hidden email]> wrote: >>> To install it on Squeak or Pharo, simply execute the following line >>> in >>> your image: >>> >>> Installer squeaksource project: 'OCompletion'; install: 'OCLoader' >> >> thank you very much, this is great news. Could you please create a >> package on Universes? How-to: http://wiki.squeak.org/squeak/5899 >> >> Does it work on OB (see ECompletionOmniBrowser)? and what about the >> workspace ? Does it work with traits too (see ECompletionTraits)? >> >> Thank you >> >> -- >> Damien Cassou >> http://damiencassou.seasidehosting.st >> >> "Lambdas are relegated to relative obscurity until Java makes them >> popular by not having them." James Iry >> >> _______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > -- > Romain Robbes > http://www.inf.unisi.ch/phd/robbes > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- www.tudorgirba.com "Value is always contextual." _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Hi Doru,
Thanks for the feedback! So far I have mainly kept the style that comes with eCompletion, but I'll look into it. Cheers, Romain On May 13, 2009, at 11:52 PM, Tudor Girba wrote: > Hi, > > I have been using OCompletion since a day and I like it's non- > intrusive smartness :). > > I have two style comments: > - I would perhaps change is the background color of the hint to be > something less ... Squeak-ish :). > - The font of the hints is not affected by my overall font settings. > Perhaps using the balloon-help font would work better. > > Cheers, > Doru > > > On 13 May 2009, at 16:07, Romain Robbes wrote: > >> Hi Damien, >> >> Yes, it also works on OmniBrowser, and in the Workspace too. >> I suppose it works also with Traits, but I haven't tried. >> >> Cheers, >> Romain >> >> On May 13, 2009, at 3:26 PM, Damien Cassou wrote: >> >>> Hi Romain, >>> >>> On Tue, May 12, 2009 at 10:07 AM, Romain Robbes >>> <[hidden email]> wrote: >>>> To install it on Squeak or Pharo, simply execute the following line >>>> in >>>> your image: >>>> >>>> Installer squeaksource project: 'OCompletion'; install: 'OCLoader' >>> >>> thank you very much, this is great news. Could you please create a >>> package on Universes? How-to: http://wiki.squeak.org/squeak/5899 >>> >>> Does it work on OB (see ECompletionOmniBrowser)? and what about the >>> workspace ? Does it work with traits too (see ECompletionTraits)? >>> >>> Thank you >>> >>> -- >>> Damien Cassou >>> http://damiencassou.seasidehosting.st >>> >>> "Lambdas are relegated to relative obscurity until Java makes them >>> popular by not having them." James Iry >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> [hidden email] >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> >> -- >> Romain Robbes >> http://www.inf.unisi.ch/phd/robbes >> >> >> _______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > -- > www.tudorgirba.com > > "Value is always contextual." > > > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Romain Robbes http://www.inf.unisi.ch/phd/robbes _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Romain Robbes
Wow!!! What an excellent job! This really help us. I hope you continue with your work (although you have already finished the paper), add features and take into account the ideas others tell you.
In my opinion this could be in the Pharo dev image by default. Again, congratulations for your work. Mariano On Tue, May 12, 2009 at 7:07 AM, Romain Robbes <[hidden email]> wrote: Dear Pharo users, _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Romain Robbes
> Yes, it also works on OmniBrowser, and in the Workspace too.
I see OCompletion in a debugger (the standard one), but not in OB (obtained from ScriptLoader loadOBAlpha). Am i the only one? Cheers, Alexandre > > On May 13, 2009, at 3:26 PM, Damien Cassou wrote: > >> Hi Romain, >> >> On Tue, May 12, 2009 at 10:07 AM, Romain Robbes >> <[hidden email]> wrote: >>> To install it on Squeak or Pharo, simply execute the following line >>> in >>> your image: >>> >>> Installer squeaksource project: 'OCompletion'; install: 'OCLoader' >> >> thank you very much, this is great news. Could you please create a >> package on Universes? How-to: http://wiki.squeak.org/squeak/5899 >> >> Does it work on OB (see ECompletionOmniBrowser)? and what about the >> workspace ? Does it work with traits too (see ECompletionTraits)? >> >> Thank you >> >> -- >> Damien Cassou >> http://damiencassou.seasidehosting.st >> >> "Lambdas are relegated to relative obscurity until Java makes them >> popular by not having them." James Iry >> >> _______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > -- > Romain Robbes > http://www.inf.unisi.ch/phd/robbes > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Right now it works only if OCompletion is loaded after OB.
You need to execute: OCompletionTable lookForOB to get it to work. Romain On May 14, 2009, at 10:45 PM, Alexandre Bergel wrote: >> Yes, it also works on OmniBrowser, and in the Workspace too. > > I see OCompletion in a debugger (the standard one), but not in OB > (obtained from ScriptLoader loadOBAlpha). > > Am i the only one? > > Cheers, > Alexandre > >> >> On May 13, 2009, at 3:26 PM, Damien Cassou wrote: >> >>> Hi Romain, >>> >>> On Tue, May 12, 2009 at 10:07 AM, Romain Robbes >>> <[hidden email]> wrote: >>>> To install it on Squeak or Pharo, simply execute the following line >>>> in >>>> your image: >>>> >>>> Installer squeaksource project: 'OCompletion'; install: 'OCLoader' >>> >>> thank you very much, this is great news. Could you please create a >>> package on Universes? How-to: http://wiki.squeak.org/squeak/5899 >>> >>> Does it work on OB (see ECompletionOmniBrowser)? and what about the >>> workspace ? Does it work with traits too (see ECompletionTraits)? >>> >>> Thank you >>> >>> -- >>> Damien Cassou >>> http://damiencassou.seasidehosting.st >>> >>> "Lambdas are relegated to relative obscurity until Java makes them >>> popular by not having them." James Iry >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> [hidden email] >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> >> -- >> Romain Robbes >> http://www.inf.unisi.ch/phd/robbes >> >> >> _______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Romain Robbes http://www.inf.unisi.ch/phd/robbes _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Just wanted to say, I've been using it for the past couple of days and
really like it; seems pretty accurate. Ramon Leon http://onsmalltalk.com _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
I tried for two hours and I had to uninstall it because everything got really slow... I tried on the latests a pharo-dev image
On Thu, May 14, 2009 at 6:30 PM, Ramon Leon <[hidden email]> wrote: Just wanted to say, I've been using it for the past couple of days and _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Hernan,
Could you describe the symptoms more precisely? I was especially careful so that the completion should be actually faster than the default one (ECompletion looks at all the symbols in the image, whereas OCompletion looks in a much more restricted set of symbols), so I'm especially surprised of this. Have you installed other packages in the same image that could cause this? Cheers, Romain On May 14, 2009, at 11:37 PM, Hernan Wilkinson wrote: I tried for two hours and I had to uninstall it because everything got really slow... I tried on the latests a pharo-dev image _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
2009/5/15 Romain Robbes <[hidden email]>:
> Could you describe the symptoms more precisely? I was especially careful so > that the completion should be actually faster > than the default one (ECompletion looks at all the symbols in the image, > whereas OCompletion looks in a much more > restricted set of symbols), so I'm especially surprised of this. > Have you installed other packages in the same image that could cause this? Since he uses pharo-dev, I guess Hernan has eCompletion too on his image. Is that a problem? -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Mariano Martinez Peck
2009/5/14 Mariano Martinez Peck <[hidden email]>:
> In my opinion this could be in the Pharo dev image by default. Let me think... ok :-D -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Damien Cassou
Yes, I tried it on a pharo-dev image. I thought that there could be a conflict between ecomp and ocomp but I also thought that ocomp would disable ecomp when loading... anyway, I did not have the time to check that so I went to the previous image.
(BTW I also tried to load ocomp on a pharo-core image and I could not because there is no Installer class. I could not either with the monticello brower... ) So, the performance issue was when typing class names. For example, I typed 'Ar' press tab and it took a lot to show the valid names. Selected Array and the started to delete it and it also took a lot of time to delete each character. I tried the same thing on an pharo-dev image without ocomp and worked fine... so there must be something going on.
Another thing that I found rare was this: When loading Ocomp I selected the packages Kernel, Collection and the one I'm working on. In a test class, when writing a test I wrote: "self as" and "assert:" was not in the options. I think it is because I did not select SUnit as a package, but I found this annoying... If I sending a message to self I think it should show all the messages that object could understood (that is, the ones defined in the class I working with and it superclasses. Ok, object has a lot of messages that could bother here, but at least it show show the messages up to object minus one I think)
Hope this help. Hernan. On Fri, May 15, 2009 at 3:36 AM, Damien Cassou <[hidden email]> wrote: 2009/5/15 Romain Robbes <[hidden email]>: _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
2009/5/15 Hernan Wilkinson <[hidden email]>:
> Yes, I tried it on a pharo-dev image. I thought that there could be a > conflict between ecomp and ocomp but I also thought that ocomp would disable > ecomp when loading... anyway, I did not have the time to check that so I > went to the previous image. Try the very latest Pharo (please stop using the name pharo-dev (I know I'm still doing it but that's a mistake :-))(this looks like Lisp)) which now has OCompletion installed: http://pharo-project.org/download. > (BTW I also tried to load ocomp on a pharo-core image and I could not > because there is no Installer class. I could not either with the monticello > brower... ) Installer is not installed by default. ScriptLoader new installingInstaller. > So, the performance issue was when typing class names. For example, I typed > 'Ar' press tab and it took a lot to show the valid names. Selected Array and > the started to delete it and it also took a lot of time to delete each > character. I tried the same thing on an pharo-dev image without ocomp and > worked fine... so there must be something going on. Can't reproduce on latest Pharo. -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
>Try the very latest Pharo (please stop using the name pharo-dev (I
>know I'm still doing it but that's a mistake :-)) ups... I'm confused... in previous mails I read that one image is Pharo-core, another pharo-dev and another pharo-web...
Why should we not make that distinction? sorry but I do not understand.... On Fri, May 15, 2009 at 12:06 PM, Damien Cassou <[hidden email]> wrote: 2009/5/15 Hernan Wilkinson <[hidden email]>: _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
2009/5/15 Hernan Wilkinson <[hidden email]>:
> ups... I'm confused... in previous mails I read that one image is > Pharo-core, another pharo-dev and another pharo-web... > Why should we not make that distinction? sorry but I do not understand.... This is not your fault, it's a bit complex :-). The ultimate truth is: - Pharo-Core: a small core which only interests the Pharo-Core developers and for deployment - Pharo: based on Pharo-Core, you have a complete Smalltalk system for developers pharo-dev is the old name of Pharo and we should try to avoid using it. Pharo-web is just a Pharo with Seaside, Magritte and Pier. Bye -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |