[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