Commit graph

2 commits

Author SHA1 Message Date
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
bjs
00f9b1350b Import version 4.2.6 of the Gambit-C Scheme System.
Blurb:

Gambit-C includes a Scheme interpreter and a Scheme compiler which can
be used to build standalone executables.  Because the compiler generates
portable C code it is fairly easy to port to any platform with a decent
C compiler.

The Gambit-C system conforms to the R4RS, R5RS and IEEE Scheme standards.
The full numeric tower is implemented, including: infinite precision
integers (bignums), rationals, inexact reals (floating point numbers),
and complex numbers.  Gambit-C supports a number of extensions to the
standards including (non-exhaustively):

 - an optimizing compiler
   - with several powerful transformations (automatic function inlining,
     partial evaluation, etc)
   - that generates properly tail-recursive portable C code
 - a scalable thread system that can handle millions of concurrent threads
 - an I/O system fully integrated with the thread system that supports
     regular files, ttys, sockets (client and server, with TCP or UDP),
     directories, processes, and pipes
 - an infix syntax extension (SIX) that allows mixing code in the
   standard prefix syntax with code in a C-like syntax
 - SRFIs 0, 4, 6, 8, 9, 18, 21, 22, 23, 27, 39
 - a REPL/debugger with
    - a continuation inspection facility (i.e. "backtrace")
    - a single-stepping mode
    - error messages with location of error (file, line, and column number)
    - emacs compatible line-editing with history
 - very efficient bignum implementation
 - a foreign function interface for C
 - a memory management system that grows and shrinks the heap based on
   the program's needs
 - a linker that builds standalone executables and shared libraries
 - dynamic loading of compiled modules and libraries (supported on many
   platforms)
 - Unicode support for characters, strings, I/O and source code
 - object finalization, pretty printing, keyword objects optional and
   keyword parameters (with the syntax and semantics of DSSSL)
 - configurable reader with control over case sensitivity
 - write/read invariance of symbols, e.g. (string->symbol "B;123") => |B;123|
 - write/read invariance of floating point numbers
 - unhygienic macros and more!
2008-04-28 04:14:31 +00:00