You can clone with
Cannot retrieve contributors at this time
I am pleased to announce the availability of Stalin 0.11. Stalin is anaggressively optimizing whole-program compiler for Scheme that doespolyvariant interprocedural flow analysis, flow-directed interproceduralescape analysis, flow-directed lightweight CPS conversion, flow-directedlightweight closure conversion, flow-directed interprocedural lifetimeanalysis, automatic in-lining, unboxing, and flow-directed program-specific andprogram-point-specific low-level representation selection and code generation.Major improvements of this release include: self hosting: Stalin now compiles itself. The distributed code is self- compiled. Scheme->C is no longer used or needed to build Stalin. architectural parameterization: Stalin is now parameterized to allow you to specify the sizes and alignments independently for different machine data types. This makes it easier to port Stalin to different C compilers and architectures. polyvariance: Stalin will automatically make multiple copies of procedures to specialize them for different argument types and to facilitate in-lining. Heuristics and users controls prevent unwieldy code growth. garbage collection: Stalin now includes the Boehm conservative garbage collector. Stalin automatically estimates the lifetime of data allocated at each allocation point and decides, at compile time, whether to allocate that data on the stack, on a region (which is managed like a stack and can be reclaimed without garbage collection), or on the garbage collected heap. APPLY, MAP, and FOR-EACH: Stalin now fully implements APPLY, MAP, and FOR-EACH with procedures and call sites of arbitrary arity. FPI for Xlib and OpenGL: Stalin now comes with a foreign-procedure interface for Xlib and OpenGL. QobiScheme: Stalin now comes with a version of QobiScheme, an extensive library of Scheme code that includes FORMAT, conditionalization primitives, structures, Common-Lisp-like sequence procedures, random-number generators, the gamma distribution, numerical integration, nondeterministic and constraint-based programming constructs, memoization, a string processing package, a context-free grammar parsing package, extended I/O, pathname parsing procedures, tries, a linear algebra package, the simplex algorithm, the Jacobi algorithm, convex hull, an image processing package, JPEG and MPEG compression and decompression, multivariate nonlinear optimization, the EM algorithm, timing procedures, and a CLIM-like package for building window-based applications. improved compiler: Stalin has been largely rewritten. It is smaller, faster, more robust, and produces smaller and faster code. GPL: Stalin is now released under the GNU Public License, version 2.Stalin 0.11 runs on a variety of Unix and Linux platforms including Intel IA32,Sun SPARC, SGI MIPS, Compaq Alpha, Intel ARM, and Motorola M68K. It isavailable by anonymous FTP from ftp://ftp.ecn.purdue.edu/qobi/stalin.tar.Z.