Thanks a lot Ben. I'll share this thread, now that have your answers in
the Leo list.

Cheers,

Offray


On 15/07/17 04:40, Ben Coman wrote:
>
>
> On Fri, Jul 7, 2017 at 10:50 PM, Offray Vladimir Luna Cárdenas
> <offray.l...@mutabit.com <mailto:offray.l...@mutabit.com>> wrote:
>
>     Hi,
>
>     Grafoscopio brings inspiration from IPython/Jupyter[1][2], Leo
>     and, of course, Pharo/Smalltalk (among others). Recently Edward
>     Ream, the main force behind Leo, asked my about the internals of
>     Pharo and I would like to give him a better answer that the one I
>     gave[4] with pointers to detailed literature.
>
>     [1] http://ipython.org/
>     [2] http://jupyter.org/
>     [3] http://leoeditor.com/
>     [4] https://groups.google.com/forum/#!topic/leo-editor/rYF21GxraT4
>     <https://groups.google.com/forum/#%21topic/leo-editor/rYF21GxraT4>
>
>     So, any details on the following question will be appreciated.
>
>     Cheers,
>
>     Offray
>
>     -------- Forwarded Message --------
>     Subject:  How does instant update work in Pharo?
>     Date:     Fri, 7 Jul 2017 03:23:21 -0700 (PDT)
>     From:     Edward K. Ream <edream...@gmail.com>
>     <mailto:edream...@gmail.com>
>     Reply-To:         leo-edi...@googlegroups.com
>     <mailto:leo-edi...@googlegroups.com>
>     To:       leo-editor <leo-edi...@googlegroups.com>
>     <mailto:leo-edi...@googlegroups.com>
>
>
>
>     I'm beginning to wonder what the difference is between the Pharo
>     way and #511: reload-leo command.
>     <https://github.com/leo-editor/leo-editor/issues/511>
>
>     How does Pharo handle changes in object format?
>
>
> https://gbracha.blogspot.com.au/2009/07/miracle-of-become.html 
> http://www.mirandabanda.org/cogblog/2013/09/13/lazy-become-and-a-partial-read-barrier/
> http://fast.org.ar/live/wp-content/uploads/2015/10/ClementBera-Efficient-support-migration.pdf
> https://hal.inria.fr/hal-01152610/document
>
>  
>
>     or methods?
>
>
> https://clementbera.wordpress.com/2013/08/09/the-cog-vm-lookup/
>
>  
>
>     How does Pharo recover from crashes due to changed method signatures
>
>
> "crash" is quite a loaded term.  We "never" ;) crash due to
> application code changes.  We only get "crashes" from defects in the
> VM.  What we do get are lockups from damaging the UI loop with never
> completing loops or a swarm of debuggers appearing across the screen
> each UI cycle. 
>
> You would need to clarify what is meant by "method signature".  It
> sounds like he may be referring to argument typing.  Our method
> arguments are not typed, so there are no method signature changes,
> thus its NotAProblem(tm).  Now to be clear, this doesn't mean
> Smalltalk is weakly-typed.  Smalltalk is strong-typed.  Each object
> absolutely knows its type and what message it can respond to.  We just
> don't type variables.  i.e. we have late-bound dynamic type checking
> rather than compile time static type checking, which works well for us.
>  
>
>     , invalid calls, etc?
>
>
> Search for "doesNotUnderstand" in these references...
> https://marianopeck.wordpress.com/2011/04/30/smalltalk-reflective-model/
> http://www.mirandabanda.org/bluebook/bluebook_chapter27.html
> https://stackoverflow.com/questions/3102695/what-are-the-key-differences-between-oo-in-smalltalk-and-java
> http://wiki.c2.com/?DoesNotUnderstand
>
> But the best way to understand how it works is to observe it.  In a
> playground, select the following...
>     1 xxxxx
> and choose [debug It] from the context men, then <Step Into> every
> line of code until the debugger window "Instance of nil did not
> understand #xxxxx" appears.   Although the first time through you may
> want to <Step Over> #findContextSuchThat: and #printString.
>
> Although I'm curious why it says "Instance of nil did not...." rather
> than "Instance of SmallInteger did not..."
>
> cheers -ben
>
>

Reply via email to