Re: PharoJS

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Pharo on the SqueakJS virtual machine

Sven Van Caekenberghe-2

> On 29 Jun 2017, at 19:14, Pavel Krivanek <[hidden email]> wrote:
>
> WOW!!!

+10

> Thank you all very much for this effort.
>
> -- Pavel
>
>
>
> 2017-06-29 18:56 GMT+02:00 Craig Latta <[hidden email]>:
>
>      Well, that didn't take as long as I thought. :)  Probably due to
> progress Bert made since we looked at it at ESUG 2016.
>
>      For more details, see https://tinyurl.com/y727fz4a
> (thiscontext.com). Let the bugfixing begin. :)
>
>
>      thanks again,
>
> -C
>
> --
> Craig Latta
> Black Page Digital
> Amsterdam :: San Francisco
> [hidden email]
> +31 6 2757 7177 (SMS ok)
> + 1 415 287 3547 (no SMS)
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo on the SqueakJS virtual machine

Pavel Krivanek-3
In reply to this post by Craig Latta
If I understand it well, for a local copy we need:

clone repository:
git clone [hidden email]:ccrraaiigg/ccrraaiigg.github.io.git

inside the clone to run a webserver, e.g.:
python -m SimpleHTTPServer 9090


-- Pavel

2017-06-29 18:56 GMT+02:00 Craig Latta <[hidden email]>:

     Well, that didn't take as long as I thought. :)  Probably due to
progress Bert made since we looked at it at ESUG 2016.

     For more details, see https://tinyurl.com/y727fz4a
(thiscontext.com). Let the bugfixing begin. :)


     thanks again,

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
[hidden email]
<a href="tel:%2B31%20%20%206%202757%207177" value="+31627577177">+31 6 2757 7177 (SMS ok)
<a href="tel:%2B%201%20415%20%20287%203547" value="+14152873547">+ 1 415 287 3547 (no SMS)


Reply | Threaded
Open this post in threaded view
|

Re: Loading PharoJS Re: PharoJS

Nicolai Hess-3-2
In reply to this post by Pierce Ng-3
Hi Pierce

2017-06-25 13:07 GMT+02:00 Pierce Ng <[hidden email]>:
Just tried loading PharoJS with this snippet:

  Gofer it
    smalltalkhubUser: 'noury' project: 'PharoJS';
    configuration;
    loadStable

Loaded cleanly on a fresh 32-bit Pharo-50772 image. Ran almost half the tests
during which it created/deleted tabs on my open Chromium browser repeatedly.
Then the tests started a new instance of my default browser (which happens to
be Midori) and here seemingly the web socket stuff didn't work so well, so I
aborted the tests, but this I attribute to Midori not PharoJS.

On a fresh 64-bit Pharo-60501 image, while loading
PharoJSBridge-NouryBouraqadi-120, error encountered:

  SyntaxError: Variable or expression expected
  Object as yet unclassified makeInspect

  makeInspect.
    Variable or expression expected-><javascript: 'blah blah
     blah blah
    }'>


I think the problem is the '.' dot after the selector name.
This is not valid code for a method definition.
I think this was an error on this parser to allow the code in the first place. Now we
"fixed" the parser to indicate this as an error.

Of course it would be good to replace / fix the method definition right on this debugger window, and move on with loading th
code. But I am afraid this does not work.
So, someone (with an older Pharo version where this code gets compiled) need to load the package and fix the method

 
Closing the error alert box brought up a debugger at RBParser>>parserError:.

Any idea what to fix, anyone?

Pierce



Reply | Threaded
Open this post in threaded view
|

Re: Pharo on the SqueakJS virtual machine

Sean P. DeNigris
Administrator
In reply to this post by Craig Latta
Craig Latta wrote
For more details, see https://tinyurl.com/y727fz4a
Cool!

A few things:
- There is a very noticable lag (e.g. ~5 seconds to open an "About" window). Any idea what it would take to deliver performance levels that feel more native?
- I wonder how Tether compares to Denis' Seamless
- I was going to ask the same question for Naiad vs Epicea, but after reading on your blog, it seems Naiad is much more ambitious than simply tracking changes
- I got a few errors off the bat
  - UnixResolver>>#cantFindOriginError from #getEnvViaFFI
  - "The primitiveFetchMourner is missing. Please upgrade your virtual machine..."
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Pharo on the SqueakJS virtual machine

Craig Latta

Hi Sean--

> > https://tinyurl.com/y727fz4a
>
> Cool!
>
> A few things:
> - There is a very noticeable lag (e.g. ~5 seconds to open an "About"
> window). Any idea what it would take to deliver performance levels
> that feel more native?

     The next big step is getting a WebAssembly version of Cog running.
Until then, we're riding the performance improvements in the web browser
JavaScript engines. At the moment, Chrome seems a lot faster than the
others. Bert's just-in-time translation of compiled methods to JS (which
the web browser's JS engine then translates to native code) helped a lot.

> - I wonder how Tether compares to Denis' Seamless

     I think Tether's serialization takes more advantage of the fact
that the participants are live Smalltalk systems with many of the same
objects already in all locations. Tether also attempts to allow remote
messages with parameters from multiple object memories (e.g., in a
context on machine A, a message is sent to an object on B, with
parameters on C and D).

> - I was going to ask the same question for Naiad vs Epicea, but after
> reading on your blog, it seems Naiad is much more ambitious than
> simply tracking changes

     Yes, Naiad is ultimately a deployment vehicle, enabling the
accurate construction and deconstruction of systems. I want a coherent
way to release apps and work in teams, livecoding all the time.

> - I got a few errors off the bat
>   - UnixResolver>>#cantFindOriginError from #getEnvViaFFI
>   - "The primitiveFetchMourner is missing. Please upgrade your virtual
> machine..."

     Mm, I haven't delved into any of the non-fatal Pharo errors yet. :)


     thanks!

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
[hidden email]
voice through 2017-09-12:
+ 1 510 833 5799 (SMS ok)
+31  20 893 2796 (no SMS)


12