Pharo in the Browser with WebAssembly

(massimo-nocentini.github.io)

81 points | by xkriva11 2 hours ago

9 comments

  • Cieric 14 minutes ago

    I've never used Pharo before, but in my firefox it renders up and to the left too much. I'm not sure how the mouse is translated to the canvas but it seems like there is an issue with it (or vice versa and it's the weird canvas scaling). Removing `transform: scale(calc(1 / var(--world-dpr, 1)));` from the canvas css seems to fix it for me though.

    • lynndotpy 19 minutes ago

      I played around with Pharo some time in 2017 or 2018, making a Minesweeper clone in it.

      I really _really_ like environments where rapid and immediate iteration is possible, especially for any project with any artistry or exploration in its construction. One thing is that (in some cases) you see intermediate, emergent, or unintended results you'd not have seen otherwise.

      Although not a particularly interesting unintended result, a logic problem (iirc) had the Minesweeper expand happen with each action (i.e. propagating cleared cells with each step rather than in an instant).

      • ajasmin 1 hour ago

        Nice!

        So I assume this is the byte code interpreter compiled with Emscriptem? Didn’t Squeak have a similar try it out page?

        I would assume there’s no attempt at Jitting or pre-compiling some of the image code, which would be a feat given Smalltalk dynamic nature and webassembly limited execution model.

        I was hopping to have something like this to play with. How can you build the code?

        • simonsarris 1 hour ago

          I was hoping it was the 1999 video game alas

          • nathell 1 hour ago

            That one's spelled Pharaoh.

          • AdmiralAsshat 1 hour ago

            Neat concept for playing with Pharo...but doesn't having it in the browser kinda defeat the purpose?

            • simultsop 2 hours ago

              I wandered about this a while ago, when VSCode went into Web. Later, after realizing how much download had to take place to have a remote OS ran, again the experience is very hacky with current hardware to software friction. It needs lots of drivers and resources to align experience with an actual OS.

            • popcar2 1 hour ago

              It seems to break when zooming in/out on Firefox (Linux). Zooming in reduces the size of the viewport and makes clicking the mouse happen somewhere else.

              • treyd 2 hours ago

                This webapp seems to break the back button on Android.

                • stronglikedan 2 hours ago

                  It never goes forward, so there's nothing to go back to, even on Chrome for Windows.

                • rvz 2 hours ago

                  Obviously this post has been boosted quickly and mysteriously in 16 mins and it feels quite premature and it doesn't even look remarkable at all.

                  Use with caution.

                  • lynndotpy 16 minutes ago

                    [delayed]

                    • xkriva11 2 hours ago

                      As the author of this post, I have to say that I, too, was surprised by how well it's doing. But people at HN are generally very receptive to Lisp/Smalltalk posts, and lately, at least one Smalltalk-related post has appeared on the front page every week.

                      • DTrejo 1 hour ago

                        Great post! Doing anything with moose? Looking forward to a post :)

                        • xkriva11 1 hour ago

                          I only did the post on HN, not the project ;)

                      • echelon 2 hours ago

                        It's Pharo, which has a small but loving community.

                        Several of my friends love it.

                        • da02 1 hour ago

                          What do they use it for?

                          • jrootabega 1 hour ago

                            BESIDES European conference presentations. Seriously, that's all I can ever seem to find.