NOTICE: This package has been removed from pkgsrc

./wip/chicken, Scheme to C compiler, handling R5RS

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 4.10.1, Package name: chicken-4.10.1, Maintainer: asau

CHICKEN is a Scheme-to-C compiler supporting most of the language
features as defined in the Revised^5 Report on Scheme. CHICKEN
generates quite portable C code, and files compiled by it (including
itself) should work without any changes on most platforms.

The whole package is distributed under a BSD license and as such free
to use and modify as long as you adhere to its terms (see the manual).
Linkage to C modules and C-library functions is straightforward, so
it's easy to access C from Scheme. Compiled code can be embedded into
existing C programs without problems. The generated code supports
full tail-recursion, first-class continuations, multiple values and
dynamic-wind.


Master sites:

SHA1: 640093fa11eb1213d4fe4138c1651613e3b96c49
RMD160: 8fed55485ee8a05b930eedf3ea22ddb6b5a32dad
Filesize: 3956.381 KB

Version history: (Expand)


CVS history: (Expand)


   2015-09-01 21:05:03 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
Update wip/chicken to chicken-4.10.1 (development release).

Changes:
4.10.1
- Runtime system:
  - The calling convention of CPS procedures has been changed to
    use "argument vectors" instead of C calling convention.
  - The C API of C_values(), C_do_apply() and how to invoke CPS
    functions has changed.  The C_procN() macros have disappeared.
    The manual example in "Accessing external objects" for C_values
    has been updated.  See also the "numbers" egg for examples on
    how to support pre- and post-4.10.1 CHICKENs simultaneously.
  - Apply hack is no longer used; the limitation of 128 arguments
    has been lifted for platforms which had no apply hack.
  - Increased the "binary compatibility version" to 8.
   2015-08-01 15:58:22 by Leonardo Taccari | Files touched by this commit (2)
Log message:
Update wip/chicken to chicken-4.10.0rc4.

Changes:
The changes since 4.10.0rc1 are as follows:
- SIGBUS, SIGILL and SIGFPE cause proper exceptions instead of panicking
- string-translate* no longer scans beyond string boundaries (CVE-2015-4556)
- A corner case bug in substring-index and substring-index-ci that was
   introduced as part of the fix for CVE-2014-9651 has been fixed.
- chicken.h has been fixed so it does not cause an error in C++ mode.
- create-directory will not skip creation of topmost parent dir in Windows.
- The types.db entries for {read,write}-string read-u8vector have been improved.
- The types.db entries for several SRFI-4 procedures have been fixed.
- The performance of read-u8vector has been improved.
- The "scheme" module now includes an export for the "angle" \ 
procedure.
- normalize-pathname no longer considers ".//foo" as the absolute \ 
"/foo".
- A few small improvements have been made in the manual.

If you're wondering what happened to release candidate 2 and 3, the
rc2 was created but never announced, and rc3 was incorrectly versioned,
so it has been skipped.  Sorry for that, as well :)

Please test this new version on as many platforms as you can, and let
us know if there are any problems with it.  If no problems are found
we can make a 4.10.0 release soon.
   2015-07-10 14:51:52 by Leonardo Taccari | Files touched by this commit (2)
Log message:
Update wip/chicken to chicken-4.10.0rc2.

Changes:
4.10.0rc2

- Security fixes
  - CVE-2014-6310: Use POSIX poll() on Android platform to avoid
    potential select() buffer overrun.
  - CVE-2014-9651: substring-index[-ci] no longer scans beyond string
    boundaries.
  - CVE-2015-4556: string-translate* no longer scans beyond string
    boundaries.

- Core libraries
  - alist-ref from unit data-structures now gives an error when passed
    a non-list, for consistency with assv/assq/assoc.
  - Unit tcp now implicitly depends on ports instead of extras.
     This may break programs which don't use modules and forgot to
     require extras but use procedures from it.
  - SRFI-13: fix string-copy! in cases source and destination strings'
    memory areas overlap (#1135).
  - SRFI-1: Check argument types in lset and list= procedures (#1085).
  - Fixed another, similar bug in move-memory! for overlapping memory.
  - Fixed broken specialisation for move-memory! on pointer types.
  - Fixed broken specialisation for irregex-match-num-submatches.
  - Fixed bug in make-kmp-restart-vector from SRFI-13.
  - Removed deprecated implicit expansion of $VAR- and ~ in pathnames.
     The ~-expansion functionality is now available in the
     "pathname-expand" egg (#1001, #1079) (thanks to Florian Zumbiehl).
  - normalize-pathname has been simplified to avoid adding trailing
     slashes or dots (#1153, thanks to Michele La Monaca and Mario Goulart).

- Unit srfi-4:
   - write-u8vector has been made more efficient (thanks to Thomas Hintz).

- Unit lolevel:
  - Restore long-lost but still documented "vector-like?" procedure (#983)

- Unit "posix":
  - set-file-position! now allows negative positions for seek/cur (thanks
    to Seth Alves).
  - file-mkstemp now works correctly on Windows, it now returns valid
    file descriptors (#819, thanks to Michele La Monaca).
  - create-directory on Windows now creates all intermediate
    directories when passed #t as second parameter.

- Runtime system:
  - Removed several deprecated, undocumented parts of the C interface:
    C_zap_strings, C_stack_check, C_retrieve, C_retrieve_proc,
    C_retrieve_symbol_proc, C_i_foreign_number_vector_argumentp,
    C_display_flonum, C_enumerate_symbols
  - Removed several deprecated and undocumented internal procedures:
    ##sys#zap-strings, ##sys#round, ##sys#foreign-number-vector-argument,
    ##sys#check-port-mode, ##sys#check-port*
  - SIGBUS, SIGILL and SIGFPE will now cause proper exceptions instead
    of panicking (thanks to Joerg Wittenberger).

- Module system
  - Allow functor arguments to be optional, with default implementations.
  - Fixed a bug that prevented functors from being instantiated with
     built-in modules.
  - Fixed generation of import libraries for instantiated functors
     (#1149, thanks to Juergen Lorenz).

- Syntax expander
  - define-values, set!-values and letrec-values now support full lambda
    lists as binding forms
  - cond expands correctly when a constant is used in combination with =>
     (thanks to Michele La Monaca)

- C API
  - Removed deprecated C_get_argument[_2] and
    C_get_environment_variable[_2] functions.
  - C_mutate2 has been deprecated in favor of C_mutate
  - chicken.h can be included in C++ programs in strict C++11 mode
     without compiler errors on Linux (thanks to "Izaak").

- Foreign function interface
  - The foreign type specifier "scheme-pointer" now accepts an optional
    C pointer type (thanks to Moritz Heidkamp and Kristian Lein-Mathisen).
  - Type hinting for foreign-primitives now allows returning multiple
    values when no return type has been specified.

- Compiler
  - Fixed an off by one allocation problem in generated C code for (list ...).

- Build system
  - MANDIR was renamed to MAN1DIR and TOPMANDIR was renamed to MANDIR
     in order to comply with standard Makefile practice in UNIX.
  - INCDIR was renamed to CHICKENINCDIR, and now derives from
     INCLUDEDIR, which defaults to $(PREFIX)/include
  - BINDIR, LIBDIR, SHAREDIR, INCLUDEDIR, MANDIR, MAN1DIR, DOCDIR,
     CHICKENINCDIR and CHICKENLIBDIR will now also be taken from
     the environment, if present (like PLATFORM, DESTDIR and PREFIX).

- Tools
  - "csc"
    - On Cygwin, -static now works again (thanks to Michele La Monaca)
  - "chicken-install"
    - When using chicken-install -retrieve, and an error occurs during
       retrieval (or the egg doesn't exist), the egg's directory is
       now properly cleaned up (#1109, thanks to Alex Charlton)
  - "chicken"
    - The -r5rs-syntax option did nothing; this has been fixed.
   2015-06-09 20:28:17 by Leonardo Taccari | Files touched by this commit (1)
Log message:
Convert the MAKE_FLAGS to MAKE_ENV now that with 4.10.0 version is supported.
No functional changes intended.
   2015-06-09 12:31:00 by Leonardo Taccari | Files touched by this commit (2)
Log message:
Get rid of patches/patch-scripts_csc-trans: it is not needed.
   2015-06-08 20:24:29 by Leonardo Taccari | Files touched by this commit (1)
Log message:
o Update OWN_DIRS (current chicken BINARYVERSION is 7)
o Fix various pkglint(1) warnings: use PKG_FAIL_REASON instead of
  PKG_SKIP_REASON, no need to quote various variables passed via MAKE_FLAGS.
   2015-06-08 20:07:36 by Leonardo Taccari | Files touched by this commit (4)
Log message:
Update wip/chicken to chicken-4.10.0rc1 development release.

Changes:
4.10.0rc1

- Security fixes
  - CVE-2014-6310: Use POSIX poll() on Android platform to avoid
    potential select() buffer overrun.
  - CVE-2014-9651: substring-index[-ci] no longer scans beyond string
    boundaries.

- Core libraries
  - alist-ref from unit data-structures now gives an error when passed
    a non-list, for consistency with assv/assq/assoc.
  - Unit tcp now implicitly depends on ports instead of extras.
     This may break programs which don't use modules and forgot to
     require extras but use procedures from it.
  - SRFI-13: fix string-copy! in cases source and destination strings'
    memory areas overlap (#1135).
  - SRFI-1: Check argument types in lset and list= procedures (#1085).
  - Fixed another, similar bug in move-memory! for overlapping memory.
  - Fixed broken specialisation for move-memory! on pointer types.
  - Fixed broken specialisation for irregex-match-num-submatches.
  - Fixed bug in make-kmp-restart-vector from SRFI-13.
  - Removed deprecated implicit expansion of $VAR- and ~ in pathnames.
     The ~-expansion functionality is now available in the
     "pathname-expand" egg (#1001, #1079) (thanks to Florian Zumbiehl).
  - normalize-pathname has been simplified to avoid adding trailing
     slashes or dots (#1153, thanks to Michele La Monaca and Mario Goulart).

- Unit srfi-4:
   - write-u8vector has been made more efficient (thanks to Thomas Hintz).

- Unit lolevel:
  - Restore long-lost but still documented "vector-like?" procedure (#983)

- Unit "posix":
  - set-file-position! now allows negative positions for seek/cur (thanks
    to Seth Alves).
  - file-mkstemp now works correctly on Windows, it now returns valid
    file descriptors (#819, thanks to Michele La Monaca).

- Runtime system:
  - Removed several deprecated, undocumented parts of the C interface:
    C_zap_strings, C_stack_check, C_retrieve, C_retrieve_proc,
    C_retrieve_symbol_proc, C_i_foreign_number_vector_argumentp,
    C_display_flonum, C_enumerate_symbols
  - Removed several deprecated and undocumented internal procedures:
    ##sys#zap-strings, ##sys#round, ##sys#foreign-number-vector-argument,
    ##sys#check-port-mode, ##sys#check-port*

- Module system
  - Allow functor arguments to be optional, with default implementations.
  - Fixed a bug that prevented functors from being instantiated with
     built-in modules.
  - Fixed generation of import libraries for instantiated functors
     (#1149, thanks to Juergen Lorenz).

- Syntax expander
  - define-values, set!-values and letrec-values now support full lambda
    lists as binding forms
  - cond expands correctly when a constant is used in combination with =>
     (thanks to Michele La Monaca)

- C API
  - Removed deprecated C_get_argument[_2] and
    C_get_environment_variable[_2] functions.
  - C_mutate2 has been deprecated in favor of C_mutate

- Foreign function interface
  - The foreign type specifier "scheme-pointer" now accepts an optional
    C pointer type (thanks to Moritz Heidkamp and Kristian Lein-Mathisen).
  - Type hinting for foreign-primitives now allows returning multiple
    values when no return type has been specified.

- Compiler
  - Fixed an off by one allocation problem in generated C code for (list ...).

- Build system
  - MANDIR was renamed to MAN1DIR and TOPMANDIR was renamed to MANDIR
     in order to comply with standard Makefile practice in UNIX.
  - INCDIR was renamed to CHICKENINCDIR, and now derives from
     INCLUDEDIR, which defaults to $(PREFIX)/include
  - BINDIR, LIBDIR, SHAREDIR, INCLUDEDIR, MANDIR, MAN1DIR, DOCDIR,
     CHICKENINCDIR and CHICKENLIBDIR will now also be taken from
     the environment, if present (like PLATFORM, DESTDIR and PREFIX).

- Tools
  - "csc"
    - On Cygwin, -static now works again (thanks to Michele La Monaca)
  - "chicken-install"
    - When using chicken-install -retrieve, and an error occurs during
       retrieval (or the egg doesn't exist), the egg's directory is
       now properly cleaned up (#1109, thanks to Alex Charlton)
  - "chicken"
    - The -r5rs-syntax option did nothing; this has been fixed.
   2013-11-06 00:42:39 by Aleksej Saushev | Files touched by this commit (3)
Log message:
Update to Chicken 4.8.2 snapshot.