Hi all,
There is a brand new Gerbil release, with important work in the compiler:
gxc now supports compilation of static executables, which don't need a local
gerbil installation to work. The optimizer has also been improved to apply all
inline optimizations for local bindings and not just module bindings.
For sources and downloads:
https://github.com/vyzo/gerbilhttps://github.com/vyzo/gerbil/releasesDetailed ChangeLog since v0.7:
- compiler: optimizer improvements and static executables
- optimizer:
- track types for local bindings
- lift locally defined opt/case-lambdas
- attach inline rules to !lambdas for more complex call optimization transforms
- track prelude imports to optimize custom preludes deeply
- driver:
- support static compilation
- static: option for compiling library modules for static linkage
- compile-static-exe for statically linked executables
- default output directory for executables to current dir
- gxc:
- -static option for static compilation
- -gsc-option and -gsc-option2 for adding arbitrary compilation options for gsc
- print usage when invoked with no files and fix error when invoked with only options
- runtime:
- find-method now caches struct method resolutions to the rtd vtab
- prelude:
- extend core.ssxi to include more of the runtime and inline all simple procedures
- stdlib:
- build static linkage modules for all stdlib
- std/make supports static library compilation and executables
- actor/rpc fix latent arity bug caught by the optimizer
- build:
- [fare] use /bin/sh -eu for build scripts
-- vyzo