[Pharo-dev] machine learning for code completion

Myroslava Romaniuk romaniuk at ucu.edu.ua
Thu Aug 15 13:52:19 EDT 2019

Hi Mariano

Yeah, that was probably the first thing i have ever looked at in regards to
code completion because the beginning of this journey for me was figuring
out the difference between regular and OCompletion (NEC, that used to be
the default until a month and a half ago, & NOC, as they are called). The
funny thing is, the code for OCompletion was actually still in Pharo until
we removed it like a month ago, but using it was disabled by default. I
don't think i've ever really used it myself but i understand the concerns :)

There was some brainstorming for it, but mostly last summer. This summer we
focused on making the replacement for NEC work well, and so working on
OCompletion got pushed back super far because we haven't thought there'd be
so many things to fix. So i don't really have a good answer for you at the
moment but hopefully will have something more to say sometime not too far
in the future. We still want to work on it :) The thing to remember is that
both NEC and NOC implementations were complex to the point of being
horrible, so there's a chance if we just simplify NOC too and impose some
limits for storing the results, as well as do proper caching, it might not
be horrible after all. But it needs work.

On Thu, 15 Aug 2019 at 19:53, Mariano Martinez Peck <marianopeck at gmail.com>

> Hi Myroslava,
> That sounds very interesting. I guess you did take a look to Romain Robbes
> work on OCompletion, right?
> I have used it for a long time, many years ago, and AFAIR we had to remove
> it from Pharo. It had lots of issues with the memory used to keep track of
> your "history" in order to be "smart". There were memory leaks and some
> other stuff. And at the end of the day, from what I remember, it was never
> really "smart"...
> Have you thought how to address that correctly?
> On Thu, Aug 15, 2019 at 12:52 PM Christopher Fuhrman <
> christopher.fuhrman at gmail.com> wrote:
>> +1 for the completion of framework (spec) constructs.
>> https://tabnine.com/blog/deep
>> On Thu, Aug 15, 2019, 12:33 Tudor Girba <tudor at tudorgirba.com> wrote:
>>> Hi,
>>> It certainly would be interesting!
>>> The other thing to look for are completion of larger constructs. For
>>> example, in the context of Spec, I am sure you can complete larger
>>> templates for various methods.
>>> Cheers,
>>> Doru
>>> > On Aug 15, 2019, at 8:48 AM, ducasse <stepharo at netcourrier.com> wrote:
>>> >
>>> > hello miroslava
>>> >
>>> > you take a NLP approach and I do not know if it will be working
>>> > Now people like proksch and mezini took a statiscal approach.
>>> > I would really like to see if we can apply the same technics to Pharo
>>> completion and
>>> > measure the difference. It could be a really nice master (even from a
>>> data scientist point of view)
>>> >
>>> > <Recommander-a3-proksch.pdf>
>>> >
>>> >> On 15 Aug 2019, at 00:01, Myroslava Romaniuk <romaniuk at ucu.edu.ua>
>>> wrote:
>>> >>
>>> >>
>>> >> From: Myroslava Romaniuk <romaniuk at ucu.edu.ua>
>>> >> Subject: machine learning for code completion
>>> >> Date: 15 August 2019 at 00:01:23 CEST
>>> >> To: Pharo Development List <pharo-dev at lists.pharo.org>
>>> >>
>>> >>
>>> >> for anyone interested, made a blog post about researching some of the
>>> existing approaches of combining ML to improve code completion. in pharo we
>>> want to try training the n-gram model. have a slight idea of how it might
>>> be implemented in practice but mostly still trying to figure it out, so if
>>> anyone else has some suggestions/ideas/tips that would be great
>>> >>
>>> >> link for the blog post :
>>> https://medium.com/@myroslavarm/machine-learning-for-code-completion-2583792997e3
>>> >>
>>> >> cheers,
>>> >> myroslava
>>> >>
>>> >>
>>> >
>>> --
>>> feenk.com
>>> "Innovation comes in the least expected form.
>>> That is, if it is expected, it already happened."
> --
> Mariano Martinez Peck
> Email: marianopeck at gmail.com
> Twitter: @MartinezPeck
> LinkedIn: www.linkedin.com/in/mariano-martinez-peck
> <https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
> Blog: https://marianopeck.wordpress.com/

З повагою,
Мирослава Романюк.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20190815/c09e9b9d/attachment.html>

More information about the Pharo-dev mailing list