README for PORT

This package provides a platform-independent interface to various features absent from the ANSI Common Lisp standard, such as sockets, shell, Gray streams etc. The implementation-specific things, like loads of #+/#-, are hidden from the user.

You can download this package from the following HTTP mirrors:

To use this package, you will need an ANSI Common Lisp.

CLOCC

PORT is now a part of CLOCC (in src/port), and, as such, is accessible via anonymous CVS and FTP, as explained on the CLOCC homepage. PORT uses mk:defsystem, which is a part of CLOCC too.

Files

This Common Lisp sources include the following files (in the alphabetical order):

filedescription
ext.lisp miscellaneous minor extensions, used everywhere
gray.lisp David N. Gray's STREAM-DEFINITION-BY-USER:GENERIC-FUNCTIONS unification
mop.lisp Meta-Object Protocol
net.lisp sockets, socket servers, host name resolution etc
path.lisp Pathnames and Filenames
proc.lisp LispM-style portable multiprocessing
shell.lisp shell access, pipes
sys.lisp getenv, arglist, class-slot-list, chdir, etc

License

This package is distributed under the GNU LGPL.

Compiling

To use the library, type "make system", which should compile all the files. Alternatively, you can issue the (mk:compile-system "port") command yourself. Then you can dump your images.

See also the general CLOCC INSTALL instructions.

Please note that this package exports symbols with names which might be already present as an extension in your Common Lisp implementation. I recommend issuing the following command before using this package:

#+allegro
(shadowing-import '(port::gc port::arglist port::chdir))
#+clisp
(shadowing-import
 '(port::getenv port::arglist port::gc port::finalize port::sysinfo
   port::with-gensyms port::probe-directory port::current-time port::quit
   port::default-directory port::resolve-host-ipaddr port::hostent
   port::hostent-name port::hostent-aliases port::hostent-addr-list
   port::socket-server port::socket-accept port::socket-server-close
   port::socket-service-port))
#+cmu
(shadowing-import
 '(port::quit port::default-directory port::gc port::process-wait
   port::finalize))

Comments

Comments and bug reports are welcome.




Sam Steingold
<sds@gnu.org>
Valid XHTML 1.0!