Git Product home page Git Product logo

Comments (14)

stereobooster avatar stereobooster commented on May 5, 2024 5

I have long standing dream to reconstruct SICP in web format with interactive code snippets

from schism.

mbebenita avatar mbebenita commented on May 5, 2024 2

I'd be happy to help integrate this into https://webassembly.studio/ playground if there's interest.

from schism.

wingo avatar wingo commented on May 5, 2024 2

I think it's about the right time to get anyref and tail calls into chrome://flags, FWIW. I will see what I can do.

from schism.

eholk avatar eholk commented on May 5, 2024 1

Thanks for getting the issue fixed. I agree it'd be awesome to have a playground more like the one you listed. We could also consider something like an interactive textbook, similar to http://io.livecode.ch/learn/namin/icfp2017-artifact-auas7pp

from schism.

eholk avatar eholk commented on May 5, 2024 1

At this point, I think it just needs someone to take the time to do it. Schism has lambdas, garbage collection, and tail calls now, as well as better error handling, so it has significantly fewer rough edges. I think now is a pretty decent time to do this.

The one downside is that now that Schism relies on experimental Wasm features, I don't think there are any browsers that can run it without using custom flags or command line arguments.

from schism.

eholk avatar eholk commented on May 5, 2024

Hi, thanks for the bug report! It looks like what's going on is that in 336a0bc I significantly refactored the way the runtime works but never updated the playground. I'll try to get it updated, but I'm happy to review a PR if you'd rather take a stab at it.

from schism.

stereobooster avatar stereobooster commented on May 5, 2024

I will take a look. There is a chance I can restore intended logic based on this commit

from schism.

stereobooster avatar stereobooster commented on May 5, 2024

Fixed issue, but we still need a proper online playground. Please keep issue open for now

from schism.

stereobooster avatar stereobooster commented on May 5, 2024

We can start with really simple one, like playground.html. Later we can get something more advanced, like:

screen shot 2018-03-01 at 22 45 18

from schism.

eholk avatar eholk commented on May 5, 2024

@mbebenita - That'd be awesome! What all would it take to integrate into webassembly.studio?

from schism.

mbebenita avatar mbebenita commented on May 5, 2024

So, all that would be needed is to host (as in available for download) the compiler somewhere, and then writing an example template. A contributor added support for AssemblyScript in a similar way.

WebAssembly.Studio basically has two integration points. When you click Build, it loads build.ts and runs the build gulp task, and when you click Run it loads main.html in a sandbox. The rest is up to the template/project actually build and load the code. WebAssembly.Studio tries to emulate a local file system, so that users can easily download the project and run it locally.

A deeper integration where we add syntax highlighting, code completion, etc. for .ss files requires more work. Luckily, that work would also benefit other embeddings of the Monaco editor which WebAssembly.Studio depends on.

from schism.

eholk avatar eholk commented on May 5, 2024

That doesn't sound too hard, and I think it'd be really useful. It might be best to wait until we get some more features, like lambdas and garbage collection, or at least label it as experimental, but I'd love to see this added to WebAssembly.Studio.

from schism.

amirouche avatar amirouche commented on May 5, 2024

What is blocking this?

from schism.

stewdio avatar stewdio commented on May 5, 2024

Any progress on getting those flags into chrome://flags? I feel (perhaps naively?) that it brings those features one step closer to production ❤️ Exciting stuff.

from schism.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.