================================================
Hurd (Guile) Scheme bindings & translator library
================================================
Nothing to see yet, for now here's some documentation of the clisp bindings this code is based on:
I (Maxime Devos) intend to release my changes as GPLv3.0-or-later, but let's wait on a response from bug-hurd@gnu.org and Flavio Cruz first ...
Some Scheme conventions were adopted: xxx-set --> xxx-set! condition -> &condition class -> (don't do this for foreign enums) x-p -> x? t -> #t
Original Lisp code in defuns do not have to be converted to Scheme conventions if the differences are not visible to callers. Limiting changes should help with copying bug fixes & new features between the CL and Scheme port.
nil is replaced with #nil, which is a Guile Scheme object that is false (but not eq? #f) and null? (but not eq? '()). Later we can investigate when #nil can be replaced with '() or #f.
Mach code is in (mach) (which includes various *.lisp from mach/), hurd code is in (hurd) or (hurd STUFF) (likewise), some other code is in (common).
At least, that's the idea. Some code in (mach) needs to be reordered ...
---
A patched version of CFFI is included under cffi/, which is included by cffi.scm. Use --squash when fetching updates from upstream, & prefix the commit message with "cffi: ".
Makefile.am and configure.ac are generated by guile-hall (use hall distribute -x and autoreconf -vif)
XXX fix guile-hall to set --target=TRIPLET.
================================================
Hurd Common Lisp bindings & translator library
================================================
Contains common code to mach, hurd and hurd-translator packages.
Contains mach bindings for functions used to manipulate ports in the hurd package.
Contains bindings to some RPC's. Implements the iouser abstraction and a Lispy libports implementation using only mach functions (not the libports library).
Contains the translator and node class. Implements the translator callbacks and describes the available API.
Special translator class to easily implement directory based translators.
Translator examples.
Test the translator library using the 'test' translator.