Julia 1.12 brings progress on standalone binaries and more
6 days ago
- #Julia
- #Compilation
- #Programming
- Julia 1.12 introduces experimental support for standalone binaries, though they are currently limited in scope and not fully standalone.
- Standalone binaries require a library directory alongside them, making distribution bulky (e.g., 93MB for a 'hello world' program).
- The compiler now trims unused routines from the standard library and runtime, reducing binary size compared to previous versions.
- Dynamic dispatch is prohibited in programs compiled with juliac, limiting the use of many public Julia packages.
- New workspace feature allows projects to share dependency graphs via a common Manifest.toml file, useful for subprojects like testing or documentation.
- Apps feature enables Julia projects to be invoked as terminal commands, though it requires a Julia installation and is still experimental.
- Struct redefinition is now allowed in the REPL, enhancing development flexibility.
- Multithreading enhancements include default interactive threads for better REPL responsiveness and new initialization helpers like OncePerProcess.
- Documentation remains a challenge, with many features requiring experimentation or community resources to understand.