<div dir="ltr">Hi Marc,<br><br>Does gsc perform any full program optimization and cross module<br>inlining when compiling executables?<br><br>I am particularly interested in the case of linking multiple scheme<br>modules together to compile executables. The Gerbil compiler uses this<br>mode for compiling static executables, which was done with full<br>program optimization in mind. At a very basic level, it allows global<br>prelude declarations like `(not safe)` to be applied to the whole<br>program, but it could do much more.<br><br>It doesn't have to be too complicated:<br>- the partial evaluator should look across module boundaries<br>- small procedures should be inlined across module boundaries<br>- (block) declarations should be taken into account across modules,<br>  so that mutability information can be propagated. Tthis would<br>  allow the compiler to elide procedure call checks for procedures<br>  defined in another module when the binding is not mutated.<br><br>-- vyzo<br><br></div>