Skip to content

Incremental compilation / linking? #936

@Boscop

Description

@Boscop

Thanks for all your work on Gluon, it seems like the most well-designed embeddable scripting language for Rust hosts :)
My use case (procedural music composition / live scripting) requires a fast edit->compile->run cycle (low latency) (which is why I abandoned my previous approach of using Rust for scripting via auto-recompilation & DLL auto-reloading).
I'm interested in using Gluon for this use case, so I'm wondering how I can reduce the latency of the edit->compile->run cycle to be as low as possible.
Most scripts consists of a few imports from std plus a few imports of user-written modules. E.g. the main module imports std and foo (where foo imports bar). If the user only edits the main file and saves that, it should not recompile std nor foo nor bar, only main. The other modules should only be linked. If the user then edits bar, it would only recompile bar and foo and main but not std.

How can this be done? :)

And what kind of latency can be expected as modules grow large (many symbols)?


(Another alternative I considered was using Haskell instead of Gluon because most of potential users already know Haskell, but with Haskell/curryrs the latency of the edit->compile->run cycle would probably be higher?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions