chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-hackers] [BRANCH] CHICKEN 5 library loading


From: Evan Hanson
Subject: [Chicken-hackers] [BRANCH] CHICKEN 5 library loading
Date: Wed, 13 Jan 2016 21:45:53 +1300

Hi hackers, and happy new year.

I've been working on CHICKEN 5's code loading in the "chicken-5-code-loading"
branch, and I think it'd be good to have someone look into merging it before
it diverges much further.

At its heart, the branch makes `import` behave like like `use` in that it now
imports a module's identifiers *and* loads its code. The old behaviour -- that
is, importing just a module's syntax -- is now available with a new
`import-syntax` form. The `require-extension` and `use` forms are now aliases
for `import`. This code loading is facilitated by the addition of unit
information to import libraries, so that they identify *what* code should be
loaded for a given module.

Units can now be loaded from shared libraries when required with `import` and
the like, so that a file compiled with e.g. "csc -s -unit foo foo.scm" will
Just Work. The goal of this is to reduce the difference between static and
dynamic compilation somewhat.

The branch also creates new "bitwise", "continuation", and "repl" modules as
described on https://wiki.call-cc.org/core-libraries-reorganization.

I've tried hard to make this change backwards compatible, and it's pretty
close. The test suite required minimal changes, and a boot-chicken can still
be built from 4.10.1.

I'll continue to work on this branch, but I'd appreciate it if someone could
have a look before it drifts too far from chicken-5.

Cheers,

Evan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]