tshort / StaticCompiler.jl

Compiles Julia code to a standalone library (experimental)
Other
490 stars 31 forks source link

Idea: Integration with JET.jl #54

Open AriMKatz opened 2 years ago

AriMKatz commented 2 years ago

Use JET to guide users to write code which targets different levels of binary staticness. Maybe error if conditions are not met.

Super duper strict mode for completely static binaries with no dynamic dispatch or allocations, and no runtime required.

Kinda strict mode: No compilation of new functions, so just linking against a minimal runtime.

Sparked by discussion with @jpsamaroo on slack

tshort commented 2 years ago

Cool idea!

AriMKatz commented 2 years ago

According to @tkf this PR (https://github.com/JuliaLang/julia/pull/43747) can do something similar:

[It] will let the compiler verify the absence of allocation (and access to the runtime in general)

Not sure how or if they can play together. Maybe CC @aviatesk