(en.wikipedia.org) Stalin (Scheme implementation) - Wikipedia

ROAM_REFS: https://en.wikipedia.org/wiki/Stalin_(Scheme_implementation)

In computing, Stalin (STAtic Language ImplementatioN) is a programming language, an aggressive optimizing batch whole-program Scheme compiler written by Jeffrey Mark Siskind. It uses advanced data flow analysis and type inference and a variety of other optimization methods to produce code. Stalin is intended for production use in generating an optimized executable.

The compiler runs slowly, with little or no support for debugging or other niceties. Full R4RS Scheme is supported, with a few minor and rarely encountered omissions. Interfacing to external C libraries is straightforward. The compiler does lifetime analysis and hence does not generate as much garbage as might be expected, but global reclamation of storage is done using the Boehm garbage collector.

The name is a joke: "Stalin brutally optimizes."

Stalin is free and open-source software, licensed under a GNU General Public License (GPL), and is available online.

Local Graph

org-roam dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6 (en.wikipedia.org) Stalin (Scheme imp... //en.wikipedia.org/wiki/Programming_language https://en.wikipedia.org/wiki/Programming_language dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Programming_language //en.wikipedia.org/wiki/Optimizing_compiler https://en.wikipedia.org/wiki/Optimizing_compiler dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Optimizing_compiler //en.wikipedia.org/wiki/Interprocedural_optimization https://en.wikipedia.org/wiki/Interprocedural_optimization dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Interprocedural_optimization //en.wikipedia.org/wiki/Scheme_(programming_language) https://en.wikipedia.org/wiki/Scheme_(programming_language) dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Scheme_(programming_language) //en.wikipedia.org/wiki/Compiler https://en.wikipedia.org/wiki/Compiler dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Compiler //en.wikipedia.org/wiki/Data-flow_analysis https://en.wikipedia.org/wiki/Data-flow_analysis dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Data-flow_analysis //en.wikipedia.org/wiki/Type_inference https://en.wikipedia.org/wiki/Type_inference dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Type_inference //en.wikipedia.org/wiki/Executable https://en.wikipedia.org/wiki/Executable dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Executable //en.wikipedia.org/wiki/Debugging https://en.wikipedia.org/wiki/Debugging dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Debugging //en.wikipedia.org/wiki/R4RS https://en.wikipedia.org/wiki/R4RS dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/R4RS //en.wikipedia.org/wiki/Object_lifetime https://en.wikipedia.org/wiki/Object_lifetime dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Object_lifetime //en.wikipedia.org/wiki/Garbage_collection_(computer_science) https://en.wikipedia.org/wiki/Garbage_collection_(computer_science) dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Garbage_collection_(computer_science) //en.wikipedia.org/wiki/Boehm_garbage_collector https://en.wikipedia.org/wiki/Boehm_garbage_collector dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Boehm_garbage_collector //en.wikipedia.org/wiki/Joseph_Stalin https://en.wikipedia.org/wiki/Joseph_Stalin dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Joseph_Stalin //en.wikipedia.org/wiki/Free_and_open-source_software https://en.wikipedia.org/wiki/Free_and_open-source_software dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/Free_and_open-source_software //en.wikipedia.org/wiki/GNU_General_Public_License https://en.wikipedia.org/wiki/GNU_General_Public_License dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6->//en.wikipedia.org/wiki/GNU_General_Public_License 2a07e4ea-610b-4c9a-bb84-d961fb2450e5 Code and Coffee Book Club 2a07e4ea-610b-4c9a-bb84-d961fb2450e5->dbb51b6f-3fb9-4f25-b1aa-76909e5a30f6