Coder Social home page Coder Social logo

Comments (7)

mattwparas avatar mattwparas commented on May 28, 2024 1

Whipped up a proof of concept in #113 - I will continue to iterate on it and update the progress here

from steel.

mattwparas avatar mattwparas commented on May 28, 2024

I do have a work in progress statically linked program representation that can be serialized to bytes - I guess the workflow could be something like this:

Rather than calling something like steel main.scm - you'd be able to do something like:

steel build main.scm (or something like that)

That would then generate a main.rs file, with the whole program embedded statically in the file alongside an engine instance to run it - we then just compile this to a binary.

I think that would get the job done?

Another approach that I've experimented with is generating the entire VM + handlers dynamically specific to the program that you've given, but that requires some more work :) (but would be a cool future goal)

from steel.

kskarthik avatar kskarthik commented on May 28, 2024

That would then generate a main.rs file, with the whole program embedded statically in the file alongside an engine instance to run it - we then just compile this to a binary.

This is interesting too!

My idea is more like https://deno.com/[email protected]/tools/compiler#compiling-executables

from steel.

mattwparas avatar mattwparas commented on May 28, 2024

I'll have to go look at the deno implementation, my hunch is its doing something more or less like what I've described though. Of course, I could be totally wrong

from steel.

kskarthik avatar kskarthik commented on May 28, 2024

a quick search showed https://github.com/denoland/deno/blob/main/cli/tools/compile.rs

from steel.

mattwparas avatar mattwparas commented on May 28, 2024

Nice, looks like they had discussed my approach but didn't end up landing on it. Would it be a deal breaker if it required the rust tool chain? It would certainly make the implementation trivial

from steel.

kskarthik avatar kskarthik commented on May 28, 2024

Would it be a deal breaker if it required the rust tool chain? It would certainly make the implementation trivial

At this point, I am not sure 😄

from steel.

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.