to the latest librep. librep installs and uses its own libtool for use by
rep-* packages. We replace librep's libtool with a symlink to
${LOCALBASE}/bin/libtool and add a dependency on libtool-base. This
addresses PR 19495 by Bill Sommerfeld.
write code that mixes Python and C data types any way you want, and
compiles it into a C extension for Python.
Plex is now bundled with Pyrex, and the py-plex package will be obsoleted.
this gawk version is newer than the version shipped with 1.6 and has some
potentially useful features such as 2 way pipes which allow easy access to
the sort(1) command.
Changes from 3.1.0 to 3.1.1
---------------------------
1. Six new translations.
2. Having more than 4 different value for OFMT and/or CONVFMT now works.
3. The handling of dynamic regexes is now more more sane, esp. w.r.t.
the profiling code. The profiling code has been fixed in several
places.
4. The return value of index("", "") is now 1.
5. Gawk should no longer close fd 0 in child processes.
6. Fixed test for strtod semantics and regenerated configure.
7. Gawk can now be built with byacc; an accidental bison dependency was
removed.
8. yyerror() will no longer dump core on long source lines.
9. Gawk now correctly queries getgroups(2) to figure out how many groups
the process has.
10. New configure option to force use of included strftime, e.g. on
Solaris systems. See `./configure --help' for the details. Replaced
the included strftime.c with the one from textutils.
11. OS/2 port has been updated.
12. Multi-byte character support has been added, courtesy of IBM Japan.
13. The `for (iggy in foo) delete foo[iggy]' -> `delete foo' optimisation
now works.
14. Upgraded to gettext 0.11.2 and automake 1.5.
15. Full gettext compatibility (new dcngettext function).
16. The O'Reilly copyedits and indexing changes for the documentation have
been folded into the texinfo version of the manuals.
17. A humongously long value for the AWKPATH environment variable will no
longer dump core.
18. Configuration / Installation issues have been straightened out in
Makefile.am.
commit). This can fix problems if it happens that those variables contain
spaces (or some other special character).
Suggested by Christopher Richards in private mail.
lang/openc++.
OpenC++ is a version of C++ with a Metaobject Protocol. In other
words, it is a tool of source-code translation for C++. Programmers
can easily implement various kinds of translation so that they can
define new syntax, new annotation, and new object behavior. OpenC++ is
useful if they need, for example: developing extensions to C++, to
provide support for things like parallelism, distribution,
concurrency, and persistence; Adding domain-, application-, or
class-specific compiler optimizations; Building their own version of
(runtime) MOP for C++.
Supplied by Marko Schuetz in PR#19203. Thanks!
Thanks also to Masao Uebayashi for his help.
will fail. Also fix a "typo" in the manpage (Awk->Nawk). Patch provided by
Christopher Richards in PR pkg/19344.
While I'm here, move manpage generation to the post-build target (where it
should be) and use INSTALL_MAN to install it (instead of generating it in
place).
2. Update to 20021129.
Changes since 20020628 (from FIXES file):
modified b.c (with tiny changes in main and run) to support
locales, using strcoll and iswhatever tests for posix character
classes. thanks to ruslan ermilov (ru@freebsd.org) for code.
the function isblank doesn't seem to have propagated to any
header file near me, so it's there explicitly. not properly
tested on non-ascii character sets by me.
- include bsd.pkg.mk explicitly, rather than in the JRE's Makefile.common
- be more thorough at avoiding installation of files that are also
found in the JRE
- include bsd.pkg.mk explicitly, rather than in Makefile.common
- replace dependency on linuxppc_lib with suse_base to get a
sufficiently recent glibc
- teach the remaining two usages of `uname -m` output about our
various powerpc platforms
This makes the Blackdown JRE finally work on powerpc again.
Note that suse_base requires a Linux kernel version >= 2.2.
NetBSD-current's COMPAT_LINUX reports itself as 2.4.18 by default
on i386 and powerpc. On NetBSD/powerpc 1.6, you'll need to override
the default value of the "emul.linux.kern.osrelease" sysctl. On
NetBSD < 1.6, you can try setting the sysctl, but the emulation
may be insufficient to run this software properly.
Also note that on powerpc, you must specify the "-green" option,
because the Classic VM hangs.
NetBSD patches were apparently merged in version 1.1.7
Since then, several releases have been made, so that the list of changes
is too extensive to be included here. Please see
ftp://ftp.inria.fr/INRIA/Projects/contraintes/gprolog/NEWS and/or the
documentation in this package.
This addresses PR pkg/18962 by Mr. Jan Schaumann.
* Treat evaluatable names specially when binding (don't bind them), in
order to make it possible to force dynamic lookup of names, without
having to resort to using the load operator on literal names.
This required a language syntax change so that evaluatable names can
be created in deferred execution mode. The possibilities for
specifying an evaluatable name were $$$name, $#name, or adding a new
special character. Since neither of the backward compatible syntax
changes were very palatable, two new special characters were added.
!name creates an evaluatable name, and the former $$name syntax is now
written as ~name for consistency.
* Add operators:
+ bindsocket
+ listen
+ accept
+ send
+ recv
* bin/onyx_config : Add onyx_config, which aids in building software
that uses libonyx.
* lib/libonyx/src/nxo_string.c:nxo_string_cstring() : Handle name
objects as well as string objects.
* Add operators:
+ serviceport
+ sockname
+ peername
+ sockopt
+ setsockopt
* Add the neterror error.
* Add the ncat operator.
* Remove the fork operator and replace it with the forkexec operator.
Doing anything between fork() and exec() in a multi-threaded
application risks hanging.
* Revise string and pointer hashing functions to marginally improve
performance.
* Add operators:
+ socket
+ socketpair
+ connect
* Add operators:
+ nonblocking
+ setnonblocking
* Modify the write operator to return whether a write was partial or
not. This is necessary for non-blocking files.
* Change language syntax. The / special character is now $.
* Modify the mkdir operator such that specifying the mode is optional.
* Add operators:
+ chroot
+ mkfifo
+ pipe
+ readlink
+ umask
* Remove "fast" operator support, since it wasn't very fast.
Performance without fast operators is +-3% of what it was with fast
operator support, for typical programs.
* Add operators:
+ inc, dec
+ while, until
* Remove operators:
+ cleardstack
* Change language syntax:
+ Radix integers are <base>@<value> instead of <base>#<value>.
+ Comments start with #, not %.
+ Add special characters in strings:
- `\0' : Nul character (nul), equivalent to `\x00'.
- `\cC' : Control C, where C is [A-Za-z].
- `\a' : Alarm (bel).
- `\e' : Escape (ec).
* Add operators:
+ threadsdict
+ threaddstack, threadestack, threadistack, threadostack
* Remove operators:
+ #!
+ !#
Add operators:
+ rot, srot
+ adn, aup
+ saup, sadn
Rename/replace operators:
+ push --> adn
+ npush/nbpush --> rot
+ snpush/snbpush --> srot
Remove operators:
+ push
* lib/libonyx/src/systemdict.c : Add operators:
+ bpop, nbpop, ipop, nip, tuck, under, over, up, nup, dn, ndn, bdup,
ibdup, ibpop, bpush
+ sbpop, snbpop, sipop, snip, stuck, sunder, sover, sup, snup, sdn,
sndn, sndup, snpop, sbdup, sibdup, sibpop, sbpush
* Rename operators:
+ index --> idup
+ sindex --> sidup
* Add operators:
+ poll
+ gstdin, gstdout, gstderr
+ setstdin, setstdout, setstderr
+ setgstdin, setgstdout, setgstderr
* Add optional mode argument to the open operator.
XXX: TODO: pthread.buildlink*.mk support.
Thanks to Johnny Lam for checking the package before I commited it.
This package is made with the 'xsim' AWT device and the OSwald scheduler.
A pthreads (o4p) based scheduler is being worked on.
What is Wonka?
Wonka is ACUNIA's cleanroom Virtual Machine for the JavaTM language. It
is extremely portable and self-contained, and can optionally be used with
its own real-time executive (OSwaldTM) to provide a complete solution for
embedded devices. It is a full implementation of the Java language, not
just a subset. And it's Open Source.
An Embedded VM
We didn't build a Virtual Machine first, and then look for a market; we
had a project, we had some hardware, and the project required that
hardware to run Java. The result is a Java implementation designed from
the start for embedded systems.
A VM for Real-Time
That system has real-time requirements; maybe not Hard Real-Time, but
hard enough for most of us. We don't claim to have made a totally pred-
ictable Java (it may not even be possible), but we have worked hard to
bring Java's inherent unpredictability under control.
A Java2-compatible VM
Some embedded VMs sacrifice full Java compatibility for other aims. Wonka
doesn't. Automatic garbage collection, dynamic class loading, user-
defined class loaders, fine-grained access control, they're all there.
The standard distribution doesn't include JavaBeansTM or Swing, but you
could add them if you wanted to: all the infrastructure needed is present.
Full AWT 1.1.8 Support
Wonka comes with a high-performance lightweight AWT (RudolphTM) suitable
for any memory-mapped or framebuffer display. Or you can plug in your own
implementation, or run with no AWT at all (e.g. in a ``headless'' system).
The choice is yours.
Free and Open Source
The Wonka Public License was conceived with the needs of embedded system
developers in mind. You don't have to make your entire business open-
source in order to use Wonka, nor do we insist you join a ``community
process''. The WPL is based on the well-known BSD license (revised
version), which is accepted by the community as being a genuine Open
Source license and as a free software license, compatible with the GPL.
versions of Python may be installed, and packages that require an
earlier version can always specify that, this should cause no problem,
and it seems sensible that people who don't care should get the latest.
(drochner concurs)
Jikes version 1.16 represents 9 months of development, 4 megs of patches
(when consolidated into one unified diff) covering well over 100,000 lines
of changes. Some of the focus of the releaes include:
* spec support:
- support for JSR 41 (java asserts available in JSDK 1.4!)
- tighter JLS/JVMS obedience, including focus on:
. Inner classes
. Definite (un)assignment
* adjusted options:
- more gnu-like options available such as --help.
- --source and --target options to control how jikes
interprets source and emits classes.
- more javac compatibility flags added, such as -J
* 9 months of miscenalious bug fixes:
- over 350 jacks test cases fixed
- ZERO jacks test cases regressed
This release is dedicated to geeks and the people who love them.
Jikes version 1.17 contains a number of bug fixes from Jikes 1.16
interpreter, into the NetBSD Packages Collection.
TinyScheme is a lightweight Scheme interpreter that implements as
large a subset of R5RS as was possible without getting very large and
complicated. It is meant to be used as an embedded scripting
interpreter for other programs. As such, it does not offer IDEs or
extensive toolkits although it does sport a small top-level loop,
included conditionally. A lot of functionality in TinyScheme is
included conditionally, to allow developers freedom in balancing
features and footprint.
As an embedded interpreter, it allows multiple interpreter states to
coexist in the same program, without any interference between them.
Programmatically, foreign functions in C can be added and values can
be defined in the Scheme environment. Being quite a small program, it
is easy to comprehend, get to grips with, and use.
related information keeps pestering me while building this package on Solaris.
So...
- Replace WRKDIR and SRCDIR hack with CONFIGURE_DIRS and BUILD_DIRS tuning:
automake-*-override can now properly do their job.
- Prevent gperf invocation with the right touch command in pre-configure
target.
- Create BUILD_DIRS in pre-configure target.
libguile, which has a reference to __floatdidf, which is part of libgcc
and will only be resolved at program link time.
XXX libtool, of Solaris ld bug ?
lang/gcc. The diffs change some double quotes to single quotes in some
sparc-only files so that the shell expression created is legal. This fix
was independently found by Lubomir Sedlacik <salo@Xtrmntr.org> and
provided in pkg/18309.
Changes:
- add protection for alloca()
- fix a problem on m68k
Remove NOT_FOR_PLATFORM temporarily.
If we have build error on a platform, lang/gcc also has the same
error and patches for lang/gcc should be improved. If
protection check in post-build fails, it is a problem in the ssp
patch, we should tell the ssp author the problem, and add the
platform to NOT_FOR_PLATFORM.
- use buildlink2
- it needs MesaLib
- added missing entries into PLIST
- /usr/local, /usr/pkg --> ${PREFIX}
- modified the way of handling LDFLAGS
- and some minor stuff
* Install with JAVA_HOME=${LOCALBASE}/java/jdk-1.1.8 instead of into
${LOCALBASE}/java/${PKGNAME}, which lead to the jdk installation moving
even when the PKGREVISION is bumped.
* Cosmetic updates to the package Makefile.
* Sort the PLIST.
* Build the blackdown packages with
PREFIX=${LOCALBASE}/java/blackdown-1.3.1
and adjust the PLIST accordingly. This is to make the Java VM packages
consistently return JAVA_HOME from `pkg_info -qp <jvm-pkg>'.
* Cosmetic updates to package Makefiles.
* Build the kaffe package with PREFIX=${LOCALBASE}/java/kaffe and adjust
the PLIST accordingly. This is to make the Java VM packages consistently
return JAVA_HOME from `pkg_info -qp <jvm-pkg>'.
* License file was wrongly being installed as ${PREFIX}/share.
* Separate out last half of DESCR into a more appropriate MESSAGE file.
Changes:
Add a A- directory with sources that fix several bugs in the
original code. Keep A+ to allow students to compare results
Corrections and A- tree from mark P Sullivan (msulliva at stevens-tech dot edu)
Corrections sent to the original author, but no response.
Synch PLIST with reality.
GCC_VERSION is the version number of the gcc detected. EGCS gcc is
considered to be "gcc-2.8.1" so that it will match "gcc>=2.8.0".
GCC_PKG is the package name "gcc-${GCC_VERSION} for the gcc detected.
Notable changes include an utter plethora of bug fixes (e.g, a
memory leak in the garbage collector), and some small added
features (e.g. Danvy-style format combinators added to
smlnj-lib). Also added are some tools (ml-nlffigen, nowhere)
that appeared previously but were not enabled.
Moreover, this update also gets rid of the ugly "patch the
source at runtime" hack used in previous pkgsrc versions.
Thus the jumbo (and ill-named) file/patch-global-names is
removed and its contents split into ordinary patch/patch-?? files.
variables, there is a new one, GCC_REQD, that contains the minimum version
of GCC needed to compile the package. For the purpose of version
comparison, all versions of EGCS are considered to be gcc-2.8.1.
This buildlink2.mk file attempts to be smart, so if the gcc in your path is
actually the one from lang/gcc, then it's considered that you need lang/gcc
at least at build-time.
There is also a new variable USE_CXX, that tells the buildlink2.mk file
whether you need to link against libstdc++.so, and thus need a _full_
dependency on lang/gcc.
so update this to version nawk-20020628.
Changes: (note credit to jdolecek :)
Jun 28, 2002:
modified run/format() and tran/getsval() to do a slightly better
job on using OFMT for output from print and CONVFMT for other
number->string conversions, as promised by posix and done by
gawk and mawk. there are still places where it doesn't work
right if CONVFMT is changed; by then the STR attribute of the
variable has been irrevocably set. thanks to arnold robbins for
code and examples.
fixed subtle bug in format that could get core dump. thanks to
Jaromir Dolecek <jdolecek@NetBSD.org> for finding and fixing.
minor cleanup in run.c / format() at the same time.
added some tests for null pointers to debugging printf's, which
were never intended for external consumption. thanks to dave
kerns (dkerns@lucent.com) for pointing this out.
GNU compatibility: an empty regexp matches anything (thanks to
dag-erling smorgrav, des@ofug.org). subject to reversion if
this does more harm than good.
pervasive small changes to make things more const-correct, as
reported by gcc's -Wwrite-strings. as it says in the gcc manual,
may be more nuisance than useful. provoked by a suggestion
and code from arnaud desitter, arnaud@nimbus.geog.ox.ac.uk
minor documentation changes to note that this now compiles out
of the box on Mac OS X.
Feb 10, 2002:
changed types in posix chars structure to quiet solaris cc.
Jan 1, 2002:
fflush() or fflush("") flushes all files and pipes.
length(arrayname) returns number of elements; thanks to
arnold robbins for suggestion.
added a makefile.win to make it easier to build on windows.
based on dan allen's buildwin.bat.
Nov 16, 2001:
added support for posix character class names like [:digit:],
which are not exactly shorter than [0-9] and perhaps no more
portable. thanks to dag-erling smorgrav for code.
Feb 16, 2001:
removed -m option; no longer needed, and it was actually
broken (noted thanks to volker kiefel).
Feb 10, 2001:
fixed an appalling bug in gettok: any sequence of digits, +,-, E, e,
and period was accepted as a valid number if it started with a period.
this would never have happened with the lex version.
other 1-character botches, now fixed, include a bare $ and a
bare " at the end of the input.
Feb 7, 2001:
more (const char *) casts in b.c and tran.c to silence warnings.
Now a package using this file can be configured by the regular
do-configure target if PERL5_CONFIGURE is _not_ set to YES (which is
the default), and then have a the standard perl configuration step
done by say the post-configure target.
Example:
PERL5_CONFIGURE= NO
post-configure: perl5-configure
Usually in such a case PERL5_CONFIGURE_DIRS would have to be
adjusted, as well as other directory variables. See following commit
to graphics/p5-PerlMagick package for a complete example.
The previous behavior is preserved if PERL5_CONFIGURE default
value is left untouched, i.e. the do-configure target does the
standard perl configuration.
Please note that this new feature was made up by Johnny Lam. Thanks again!
and install perl5 modules.
The following targets are provided by this file:
do-configure runs the standard perl configuration in
each of the directories specified in
${PERL5_CONFIGURE_DIRS}.
The following variables may be set prior to including this file:
PERL5_CONFIGURE if "YES", then run the standard perl
configuration assuming Makefile.PL exists;
defaults to "YES".
PERL5_CONFIGURE_DIRS list of directories in which to run the
standard perl configuration; defaults to
${CONFIGURE_DIRS}.
PERL5_LDFLAGS extra linker flags to pass on to the build
process.
This file also does the PERL5_PACKLIST handling to generate a PLIST. When
all p5-* packages have been modified to use module.mk, then the
PERL5_PACKLIST code in bsd.pkg.mk can be removed.
* Replace ELK_USE_{X11,MOTIF} with ELK_GUI, which is either "none" or is
some combination of "xaw" and/or "motif".
* Reenable Motif -- it seems to build properly with OpenMotif-2.0.x.
* Modernize this package a bit and clean up how linker flags are passed to
the build process by using the new variables available.
extension Makefile fragments, because they really don't have anything to
do with the buildlink[12] frameworks. Change all the Makefiles that use
application.buildlink.mk and extension.buildlink.mk to use application.mk
and extension.mk instead.
(but is "ppc" on powerpc), and use it instead of MACHINE_ARCH where
applicable.
* Introduce BLACKDOWN_REL, which is usually just "FCS-02b" (but is
"rc1" on arm).
* Simplify how MASTER_SITES and DISTFILES get defined.
* Improve some formatting.
* Replace literal "i386" in PLIST with ${BLACKDOWN_ARCH}.
* Adjust bin/.java_wrapper for powerpc platforms, and update the
similar patch for bin/realpath.
On NetBSD/powerpc, this greatly reduces noise during package
installation, and gets us further at runtime. Believe it or not,
seeing "/lib/libc.so.6: version `GLIBC_2.2' not found" is an
improvement.
increase stack size for created threads, and set the JOINABLE attribute
to "false" (nothing will join() them) to avoid a ressource leak
"works better now"
- For this package i[3-6]86 can be set equal with i386, allowing us to specify
the download site using MACHINE_ARCH.
- Enable for platform Linux-*-i[3-6]86
- Don't display MESSAGE about requiring COMPAT_LINUX when on linux:
=> move MESSAGE to MESSAGE.NetBSD
Regina is a Rexx interpreter that has been ported to most Unix
platforms and also to OS/2, eCS, DOS, Win9x/Me/NT/2k/XP, Amiga, QNX,
BeOS, MacOS X, EPOC32, AtheOS, OpenVMS and OpenEdition. Rexx is a
programming language that was designed to be easy to use for
inexperienced programmers yet powerful enough for experienced users.
It is also a language ideally suited as a macro language for other
applications.
REXX/imc is a Rexx interpreter for Unix. It supports all the standard
instructions and built-in functions, plus a small number of
extensions, and has a partial implementation of the SAA API allowing
applications to call Rexx programs and to register addressing
environments, Rexx functions, and exit handlers.
This package was created by myself, including bypassing the standard
configuration method, and the provision of a Makefile with libtool
support.
Changes since our last version (103) include (but obviously
are not limited to):
New Homepage http://www.drscheme.org
drscheme:
- removed 'project manager' (use 'module' instead)
- added profiling support
- support for different natural languages
- added module browser
- added XML boxes
- new menu-items
- improved error message output
- added an emacs-like c-x c-b feature
- improved documentation
- teachpacks support macro definitions
- now prints exact real numbers as graphical fractions
- misc bug fixes
- improved create executable interface
- improved interaction between help desk and external browser
mred:
- many new key- and mouse events
- various changes (additions and removals) of different methods
- Added 'unknown/mask and 'unknown/gif bitmap types
- New load handler, text-editor-load-handler
mzscheme:
- new module system
- No object or unit system is built into MzScheme.
- The core syntax system is hygienic;
- Modules can replace units where units are used merely for namespace
control
- The `struct' form is gone, replaced by a more flexible
`make-struct-type' form
- various process procedures have been moved to a new
MzLib library, "process.ss"
- The built-in regular-expression matcher works on input ports
- The mzc compiler supports a subset of the Gambit-C foreign-function
interface
teachpack:
- Fixed bug in convert.ss
- removed: pingp-play.ss pingp.ss protect-play.ss rectangle.ss
- all exported functions are primitive operators or higher order primitives
this improves error reporting behavior in the Beginner languages
- added servlet.ss and servlet2.ss
stepper:
- Total rewrite for new syntax. Addition of test suites.
Addition of somewhat more systematic macro unwinding.
Lots of bug fixes.
changes:
* NetBSD patches integrated
* improvements to the module system
* new interfaces
basically numerous changes, see plt/notes/mzscheme in the source directory
Based on package submitted by Jan Schaumann <jschauma@cs.stevens-tech.edu>
in PR pkg/16301.
OTcl, short for MIT Object Tcl, is an extension to Tcl/Tk for
object-oriented programming. It shouldn't be confused with the IXI
Object Tcl extension by Dean Sheenan.
Some of OTcl's features as compared to alternatives are:
* designed to be dynamically extensible, like Tcl, from the ground
up
* builds on Tcl syntax and concepts rather than importing another
language
* compact yet powerful object programming system (draws on CLOS,
Smalltalk, and Self)
* fairly portable implementation (2000 lines of C, without core
hacks)
* installation fix: (ice-9 and-let*) has been renamed to (ice-9 and-let-star)
* build fix: net_db.c `inet_aton' declaration now properly conditionalized
* bugfix: `expt' now handles negative exponents correctly
* installation fix: some programs are no longer installed
* guile-snarf usage now internalizes output-file creation/deletion
* installation fix: libltdl now "installable" instead of "convenience"
* library versioning now more disciplined
* "make check" now works
* provisional documentation available
* interface summarization available
buildlink2.mk files back into the main trunk. This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
Changes since version 1.06 include:
* Lots of bugfixes.
* The Hat tracing system is now entirely separate from the nhc98 compiler
(and is thus not included in the package)
(ephaeton at gmx dot net) in PR pkg/18023. Besten Dank!
Changes from 3.04 to 3.05 (abbreviated list, full list available at
http://caml.inria.fr/archives/200207/msg00558.html):
Language features:
- Support for polymorphic methods and record fields.
- Allows _ separators in integer and float literals, e.g. 1_000_000.
Type-checker:
- Fixed subtle typing bug with higher-order functors.
- Fixed several complexity problems;
- Fixed various bugs with objects and polymorphic variants.
Bytecode compiler:
- Fixed issue with ocamlc.opt and dynamic linking.
Native-code compiler:
- Fixed GC bug related to constant constructors of polymorphic variant types.
- Fixed compilation bug for top-level "include" statements.
Toplevel interactive system:
- ocamlmktop: minimized possibility of name clashes with user-provided modules.
Run-time system:
- Better support for lazy data in the garbage collector.
- Support for float formats that are neither big-endian nor little-endian
- Fixed bug in callback*_exn functions in the exception-catching case.
Standard library:
- Protect against integer overflow in sub-string and sub-array bound checks.
- New module Complex implementing arithmetic over complex numbers.
- New module Scanf implementing format-based scanning a la scanf() in C.
- various fixes and enhancements to existing modules
Tools:
- ocamldoc part of distribution
- Debugger: now supports the option -I +dir.
- ocamllex: supports the same identifiers as ocamlc;
Changes from 3.05 to 3.06:
Type-checking:
- Apply value restriction to polymorphic record fields.
Run-time system:
- Fixed GC bug affecting lazy values.
Both compilers:
- Added option "-version" to print just the version number.
- Fixed wrong dependencies in .cmi generated with the -pack option.
Native-code compiler:
- Fixed wrong return value for inline bigarray assignments.
Libraries:
- Unix.getsockopt: make sure result is a valid boolean.
Tools:
- ocamlbrowser: improved error reporting;
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.