It’s getting even more possible to run Julia on an actual satellite. I.e. with StaticCompiler.jl (and possibly, or not helping?):
Limitations:
In order to be standalone-compileable without linking to libjulia, you need to avoid (among probably other things):
- GC allocations. Manual heap-allocation (
malloc
,calloc
) and stack allocation (by convincing the Julia compiler to usealloca
and put your object on the stack) are all fine though.- […]
- Multithreading
- Microsoft Windows (not supported by StaticCompiler yet), except via WSL
Not running on Windows, is maybe a feature, not a bug for satellite control. And not having GC allocations is a feature for embedded/real-time/satellites. It’s already possible to avoid GC with Julia before all this, but you had huge binaries. Now the smallest are under 9 KB, and while you can use malloc instead of GC, you would also want to not do that in your control loop.