Chicken

Software Screenshot:
Chicken
Software Details:
Version: 4.9.0.1 updated
Upload Date: 17 Jul 15
Developer: Felix
Distribution Type: Freeware
Downloads: 15

Rating: nan/5 (Total Votes: 0)

Chicken is a free and open source compiler application for the Scheme programming language. It is compatible with the Linux/UNIX operating system.

Chicken produces efficient and portable C, and it supports many of the current Scheme language standard (see the list below for details).

It provides out-of-the-box support for SRFI 0 (cond-expand), SRFI 1 (List library), SRFI 2 (and-let*), SRFI 4 (Homogeneous numeric vector datatypes), SRFI 6 (Basic string ports), SRFI 8 (receive), SRFI 9 (Record types), SRFI 10 (#, external form), SRFI 13 (String library), SRFI 14 (Character set library), SRFI 16 (case-lambda), SRFI 17 (Generalized set!), SRFI 18 (Multithreading support), SRFI 23 (error), SRFI 25 (Multidimensional array primitives), SRFI 26 (cut, cute), SRFI 28 (format), SRFI 30 (Block comments), SRFI 37 (Program argument processor), SRFI 38 (External representation for data with shared structure), SRFI 39 (Parameters), SRFI 40 (Stream library), SRFI 42 (Eager comprehensions), SRFI 43 (Vector library) and SRFI 55 (require-extension).

What is new in this release:

  • This release includes several important security and crash fixes, after a recent bug-hunting spree by our core hackers.

What is new in version 4.8.0.5:

  • This release includes several important security and crash fixes, after a recent bug-hunting spree by our core hackers.

What is new in version 4.8.0.3:

  • This release primarily fixes a bug on Linux and Solaris which causes high CPU usage when waiting for child process I/O.

What is new in version 4.8.0.2:

  • Interpreter:
  • Fix regression in ,d for procedures, which resulted in an sprintf error.
  • Compiler:
  • Fix rewriting of newlines (~~) in printf.
  • Runtime:
  • Allow > 4GB heap on 64-bit systems (#974).
  • Added missing library (-lrt) on Solaris for nanosleep calls (#970).
  • Build system:
  • Use test -f instead of test -e in identify.sh to placate Solaris.

What is new in version 4.8.0.1:

  • Security fixes:
  • Use POSIX poll() on systems where available. This avoids a design flaw in select(); it supports no more than FD_SETSIZE descriptors.
  • Core libraries:
  • Fixed EINTR handling in process-wait and when reading from file ports.
  • Bugfix for irregex (#686). Note: although irregex.scm now says version 0.9.2, the version is actually 0.8.3 plus a few backported patches.
  • Fixed problem in "make-pathname" that returned an absolute path if given a relative one without a directory argument.
  • On 64-bit systems the feature identifier "64bit" is registered.
  • Compiler:
  • Fixed various bugs in the type database.
  • Bugfixes and improvements in the scrutinizer.
  • In the flow-analysis pass, type-matching of combinations of "list"/"list-of" types has been made more reliable.
  • Syntax expander:
  • Make macro-renamed defines in begin bodies (inside modules) visible to later forms. (#944).
  • Runtime system:
  • Fixed incorrect code in the foreign argument conversion for "unsigned-integer64" (#955).
  • Core tools:
  • The runtime linker path for compiled executables was not set correctly on FreeBSD systems.
  • Fix install-extension breakage when the second arg contains pairs (SRC DST).
  • Build system:
  • Prevent rebuilding of buildversion.scm on every make(1) on Windows.

What is new in version 4.8.0:

  • Interfaces and functors have been added to the module system.
  • The type system has been extended.
  • A large number of bugfixes and general cleanup have been done in the compiler, runtime system, core libraries, and syntax expander.

What is new in version 4.6.0:

  • Some compiler optimizations have been significantly improved.
  • Several built-in procedures and the allocation procedures for lists, vectors, and structures generate faster code.
  • Units srfi-4 and srfi-18 have been heavily cleaned up and optimized.
  • Several bugs have been fixed in the thread scheduler.
  • chicken-install has been extended, and its cross compilation support has been significantly upgraded.
  • The build system now supports more platforms and compilers.
  • The various infrastructure scripts have been overhauled to reflect the structure of the new Web site infrastructure.

What is new in version 4.4.0:

  • the system can now be built with llvm-gcc and/or "clang" (the LLVM C compiler which doesn't use the GNU C frontend)
  • added new option `-trunk' to `chicken-install', which forces building and installing the development version of extensions in combination with `-t local'
  • added new option `-deploy' to `chicken-install', which builds extension for use in "deployed" applications (see below)
  • added option `-deploy' to `csc', the compiler driver. With this option `csc' can build fully self-contained application bundles and double-clickable Macintosh GUI apps; see the "Deployment" manual chapter for more information
  • the directory given to the `-prefix' option of `chicken-install' may now be a relative pathname.
  • removed GUI-specific runtime library (`libchicken-gui') from Windows build
  • GUI- and non-GUI applications now use the same runtime library
  • special forms of the foreign-function interface have been replaced with an internal form and syntax to allow renaming and shadowing of these forms
  • the new `-private-repository' option in `csc' compiles executables with the extension-repository path set to the directory from which the program was started
  • `csc': deprecated the `-W' and `-windows' options, added `-gui' as a platform-independent replacement
  • `require-extension'/`use' accepts now import-specifications
  • user-defined extension-specifiers and `set-extension-specifier!' have been removed
  • `delete-file[*]', `rename-file', `create-directory', `file-copy', `file-move', `delete-directory' and `change-directory' return their argument/destination filename on success
  • added the missing procedure `condition-variable-name' to the srfi-18 library unit (Thanks to Joerg Wittenberger)
  • the `glob?' function from the `regex' unit has been deprecated
  • added the procedure `scan-input-lines' to the `utils' library unit
  • added new runtime option `-:g' which enables GC debugging output
  • reclamation of unused symbols in "symbol-gc" mode (`-:w') now only takes place for symbols with an empty property-list
  • on Windows loading of code compiled with [non-]GUI runtime libraries will fail and produce an error message when the loading executable is linked with a different runtime system
  • on Windows, GUI libraries were not correctly linked by `csc'
  • unit posix: added setter for `file-modification-time'
  • the banner shows the branchname of the build, unless it's "master"
  • the `-no-install' option to `chicken-install' is ignored when building/installing dependencies
  • `chicken-uninstall' takes a glob instead of a regular expression as argument
  • the rename and compare functions for low-level macro-definitions accept now arbitrary s-expressions and renames/compares them recursively
  • `number->string' handles negative-numbers with bases different from 10 correctly (thanks to Peter Danenberg)
  • removed deprecated `setup-install-flag' and `setup-verbose-flag' from the `setup-api' module
  • added new option `-repository' to `chicken-install' (Thanks to Christian Kellermann)
  • removed `chicken-setup' stub program
  • fix to `csc' to use the correct library when fixing dynamic load paths (Thanks to Derrell Piper)
  • removed html documentation from distribution (the wiki manual will now be installed)
  • fixed bug in `reexport' which caused syntax not to be correctly reexported
  • previous assignments to a toplevel variable that are separated by side effect free expressions are removed
  • fixed windows version of `find-files' (thanks to Jim Ursetto)
  • documentation for extensions is not installed automatically by `chicken-install' anymore
  • changed binary version from "4" to "5", because the new runtime libraries are not binary-compatible with previous releases; this means all eggs have to be reinstalled and existing programs be recompiled!
  • added unboxing pass to compiler which results in partially dramatical performance improvements for unsafe floating-point-intensive code; unboxing is enabled on optimization levels 4 and 5
  • removed rest-argument-vector optimization as it could conflict with inlining (thanks to Sven Hartrumpf)
  • renamed `pointer-offset' to `pointer+' and deprecated `pointer-offset'
  • toplevel assignments that have no other side-effects can be eliminated if it can be shown that the value is not used (the compiler will generate a warning in this case)
  • removed deprecated `-quiet' option in `chicken' program
  • removed deprecated `run-time-macros' declaration
  • removed deprecated `-v2' and `-v3' options in `csc' program
  • removed deprecated `list-of' function (it is exclusively available as `list-of?' now)
  • removed deprecated `stat-...' functions in posix library unit
  • removed deprecated `for-each-line' and `for-each-argv-line' procedures in utils library unit
  • added `fpinteger?' and `fpabs'
  • deprecated `define-compiled-syntax'
  • added new floating-point primitives `fpsin', `fpcos', `fptan', `fpasin', `fpacos', `fpatan', `fpatan2', `fpexp', `fplog', `fpexpt' and `fpsqrt'
  • heavy cleanup of floating math functions which gives much better performance, especially for code compiled in unsafe mode
  • calling `assert' with a single argument shows the tested expression on failure
  • various bugfixes and cleaning up

What is new in version 4.2.0:

  • chicken-install has been modified to sort library dependencies in topological order, and to try alternative servers if an egg server responds with an error.
  • The executable stack in assembly code modules is disabled by default.
  • Many bugs have been fixed in the MinGW build.
  • Several new options have been added to the compiler and interpreter.

What is new in version 3.4.0:

  • The compiler now supports selective procedure profiling.
  • All file-related procedures have been moved to new unit files.
  • There have been numerous fixes to the Cygwin and MinGW builds.
  • PCRE bundled with Chicken has been updated.

Similar Software

Flapjax
Flapjax

3 Jun 15

Vala
Vala

27 Sep 15

Mumps Compiler
Mumps Compiler

28 Sep 15

SMOP
SMOP

11 May 15

Other Software of Developer Felix

Comments to Chicken

Comments not found
Add Comment
Turn on images!