CHICKEN

Software Screenshot:
CHICKEN
Software Details:
Version: 4.0.0
Upload Date: 6 Jun 15
Distribution Type: Freeware
Downloads: 8

Rating: nan/5 (Total Votes: 0)

It currently runs on Linux, MacOS X, Windows, and many Unix related OSs.

CHICKEN produces portable, efficient C, supports almost all of the current Scheme language standard, R5RS and includes many enhancements and extensions.

Features:

  • Includes a full-featured interactive interpreter as well as an optimizing batch compiler
  • Usable for interpreted scripts or compiled standalone executables with either dynamic or static linkage
  • Full support for tail recursion, first-class continuations and hygienic macros
  • Highly portable and known to run on many platforms, including x86, x86-64, IA-64, PowerPC, SPARC and UltraSPARC, Alpha, MIPS, ARM and S/390
  • Distributed free for use and modification under the terms of the BSD License
  • Transparent support for dynamically loadable compiled code and linkage to C
  • An easy to use foreign function interface for accessing C and C++ libraries from Scheme code
  • Lightweight user-level threads based on first-class continuations
  • Provides high- and low-level hygienic macros, including syntax-rules
  • Includes a powerful module system that integrates hygienic macros and separate compilation
  • Execution profiling, debugging, backtrace and single-stepping support
  • A POSIX interface that covers environment and filesystem access, pipes, processes, signals, locks, sockets, and low-level and memory-mapped I/O
  • Perl compatible regular expressions, including support for SRE syntax (Structured Regular Expressions)
  • Support for interpreted or compiled shell scripts under Unix and Windows
  • Support for a large number of Scheme Requests For Implementation (SRFIs)
  • Many libraries and extensions are available at "Eggs Unlimited"

What is new in this release:

  • Fixes to the MinGW build.
  • PCRE 7.7
  • Bug fix for bitwise-or use
  • Bug fix in thread-terminate!
  • Cygwin build patched to put the runtime libraries in the right place.
  • added support for out-of-tree compilation (via the SRCDIR variable)
  • bug fix for (string->number "/")
  • support for selective procedure profiling in the compiler
  • unit utils: moved fileand pathname-related procedures to unit files
  • new unit files

What is new in version 3.3.0:

  • bug fix for bitwise-or use
  • bug fixes for tickets 393, 430, 436
  • bug fix pointer->address
  • the build system now sets the SONAME field of libchicken.so under Linux
  • fixed an allocation bug in decode_literal
  • some fixes to the build system when USE_HOST_PCRE is set
  • added use of unit ports to unit extras and chicken-setup
  • unit utils and extras: moved port extensions to unit ports
  • new unit ports

What is new in version 3.2.0:

  • unit extras: moved lists, queues, strings to data-structures
  • new unit data-structures
  • unit library: symbol->string now copies its argument
  • chicken-setup: added option -svn-trunk
  • unit utils: added file-copy and file-move (request by the einit team)
  • unit srfi-69: added hash-table-clear!
  • unit srfi-69: new
  • unit extras: moved SRFI 69 to unit srfi-69

What is new in version 3.1.0:

  • svnrevision.sh cleaned logic to prevent invalid error message
  • csc fixed bug preventing static linking of executables (build order issues)
  • unit regex: PCRE 7.6
  • unit regex: avoid string copy in regex matching
  • chicken-setup: eggs are downloaded to and compiled in a temporary directory determined by CHICKEN_TMPDIR or TMPDIR environment variables, or by -build-prefix and -download-dir options, respectively; -destdir option is replaced with -install-prefix.
  • unit tcp: use of offset into string rather than substring for faster socket write [Jim Ursetto]
  • MSVC can now be used to build the system, when standard UNIX tools (like MSYS) are available
  • unit library: added "flonum-print-precision" for changing the default of 16
  • unit posix: create-directory can now handle DOS drive letters in the given path
  • unit posix: added statpredicates for file types
  • unit posix: added strftime format string support to "time->string"
  • unit posix: added "string->time", which takes a strptime format string (Unix only)
  • unit extras: added "left-section", "right-section", "none?", "always?", and "never?"
  • unit extras: added "hash-table-merge", "hash-table-map", "hash-table-for-each", and extended "make-hash-table" with minimum/maximum load & initial value
  • unit extras: added "eq?-hash", "eqv?-hash", "equal?-hash", "number-hash", "symbol-hash", "keyword-hash", "##sys#number-hash-hook", and "hash-by-identity" as a synonym for "eq?-hash"

What is new in version 3.0.0:

  • upgraded scheme-complete.el to version 0.6
  • unit library: added "blob=?"
  • the library can optionally be built with an already installed libpcre
  • chicken-setup accesses a separate set of eggs, specific on the major CHICKEN version (3)
  • added csi options "-p" ("-print") and "-P" ("-pretty-print")
  • support for Mac OS X universal binaries hase been added
  • `cond-expand' is available in the set of core macros
  • On sparc64 architectures more than 126 procedure arguments are allowed
  • posix unit: "seconds->string" and "time->string" have now their trailing #
  • ewline character removed. THIS IS A BACKWARD-INCOMPATIBLE CHANGE.

What is new in version 2.739:

  • the SVN checkout can now be built from a bootstrapping tarball without the need for a pre-installed "chicken" executable
  • literals are compiled in a platform-independent binary encoding into the executable which results in faster C compile times and moe compact binaries. This also makes the "compress-literals" option and declaration unnecessary
  • the "-compress-literals" compiler option and the "compress-literals" declaration have been removed
  • the CHICKEN_HOME environment variable is now obsolete, use CHICKEN_PREFIX and possibly CHICKEN_REPOSITORY_PATH
  • added pre GC hook C-level variable
  • Cygwin is now fully supported
  • removed deprecated functions:
  • extension-info
  • print-backtrace
  • test-feature?
  • ___callback (chicken.h)
  • foreign-callback-lambda[*]
  • thread-deliver-signal!
  • critical-section
  • enable-interrupts
  • disable-interrupts
  • invalid-procedure-call-handler
  • There is no platform-dependent pathname directory separator anymore, the slash ("/") and backslash ("") characters can be used interchangably
  • New procedures "regexp*", "regex-optimize" and "make-anchored-pattern" (regex library unit)
  • New procedures "terminall-size", "terminal-name" and "get-host-name" (posix library unit)
  • chicken-setup: can create repository catalog file from local SVN checkout of egg repository
  • chicken-setup has the new option "-host-extension" to force compiling extensions in "host" mode when using a cross-compiling chicken
  • Better cross-development support for the build system (the Makefile accepts various variables for customizing the build)
  • "file-size" and "file-stat" handle file-sizes of >4GB now
  • "find-files" collects directories as well, now [Thanks to Ivan Raikov]
  • added "dist" target to toplevel makefile
  • "andmap" and "ormap" have been deprecated
  • makefiles support relinking now
  • added "thread-wait-for-i/o!" (srfi-18 library unit)
  • the "chicken-bug" program can now be used to create bug reports and send them to the CHICKEN maintainers

What is new in version 2.717:

  • New binary compatibility version (3) installed eggs mst be recompiled!
  • deprecated "shift!" and "unshift!"
  • regex unit: Uses PCRE 7.4
  • utils unit: Uses compiled regular expressions
  • unit posix: Uses compiled regular expressions
  • removed build option for extra symbol slot
  • added Lisp-style symbol property lists

What is new in version 2.701:

  • countless bugfixes and minor improvements
  • new foreign types:
  • [nonnull-]unsigned-c-string[*]
  • c-string-list[*]
  • added "unused" declaration specifier
  • new GNU Make based build process
  • libffi is not used anymore, handcoded assembler is used for x86, x86-64 and powerpc platforms
  • library unit:
  • blob?
  • make-blob
  • blob-size
  • string->blob
  • blob->string
  • regex unit:
  • glob?
  • utils unit:
  • directory-null?
  • port-fold
  • extras unit:
  • hash-table-remove!
  • lolevel unit:
  • mutate-procedure
  • srfi-4 unit:
  • XXXvector->blob[/shared]
  • blob->XXXvector[/shared]
  • csc options:
  • -cxx-name
  • -disable-compiler-macros
  • byte-vectors have been removed and replaced by new "blob" type
  • added various blobSRFI-4 vector conversion procedures in srfi-4 unit
  • ":optional" has been renamed to "optional" (the old name is still available but deprecated)
  • "switch" has been replaced by "select" ("switch" is still available but deprecated)
  • "tcp-connect" and "tcp-accept" handle time-outs via parameters "tcp-connect-timeout" and "tcp-accept-timeout"
  • tcp unit: support for read/write timeouts

Similar Software

Cruncher
Cruncher

11 Mar 16

Editr
Editr

21 Jul 15

HAML
HAML

10 Dec 15

Emscripten
Emscripten

26 Jul 16

Comments to CHICKEN

Comments not found
Add Comment
Turn on images!