[cl-muproc-devel] [Patch] Reorganisation of impl-dependent functions: proposal
Rudi Schlatte
rudi at constantly.at
Thu May 25 10:24:44 UTC 2006
Hello all,
Thanks to the good work of Klaus, cl-muproc already has a good
separation of core functions and implementation-dependent code.
There is no explicit dependence on lispworks anywhere except muproc-
compat.lisp[1], so porting to other implementations should be easy.
In order to keep things tidy, I propose to gather each
implementation's code into its own file. The attached patch
implements this for lispworks.
The patch also removes the dependency upon acl-compat. The rationale
is two-fold:
- some implementation-dependent code is necessary anyway, because acl-
compat does not implement lispworks-style mailboxes (nor condition-
variables, upon which mailboxes can be built).
- acl-compat pulls in cl-ppcre and puri, two libraries that are
completely unrelated to multiprocessing.
With this patch, starting a new port would consist of:
- copying muproc-compat.lisp to muproc-<implementation>.lisp
- adding the file to cl-muproc.asd
- implementing the stub functions in muproc-<implementation>.lisp
I feel this is a better solution than adding to an ever-expanding
muproc-compat.lisp.
Cheers,
Rudi
[1] The implicit dependence is without-scheduling, which presupposes
the scheduler is under control of the Lisp runtime. The last time I
looked at that part of the code in depth (on the train ride back from
Hamburg), I felt confident that the code without-scheduling could be
rewritten without it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: muproc-compat.patch
Type: application/octet-stream
Size: 25364 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cl-muproc-devel/attachments/20060525/d1ee143c/attachment.obj>
-------------- next part --------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/cl-muproc-devel/attachments/20060525/d1ee143c/attachment.sig>
More information about the cl-muproc-devel
mailing list