Skip to content

Commit

Permalink
Initial port to MKCL.
Browse files Browse the repository at this point in the history
  • Loading branch information
jcbeaudoin committed Jul 21, 2012
1 parent bf7a30e commit 3332f5b
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 0 deletions.
9 changes: 9 additions & 0 deletions impl-util.lisp
Expand Up @@ -66,6 +66,8 @@
".clisprc.lisp")
(:implementation ecl
".eclrc")
(:implementation mkcl
".mkclrc")
(:implementation lispworks
".lispworks")
(:implementation sbcl
Expand Down Expand Up @@ -216,6 +218,11 @@ quicklisp at CL startup."
#+ecl :resolve-symlinks #+ecl nil)
(directory (merge-pathnames *wild-relative* directory)
#+ecl :resolve-symlinks #+ecl nil)))
(:implementation mkcl
(setf directory (truename directory))
(nconc
(directory (merge-pathnames *wild-entry* directory))
(directory (merge-pathnames *wild-relative* directory))))
(:implementation sbcl
(directory (merge-pathnames *wild-entry* directory)
#+sbcl :resolve-symlinks #+sbcl nil)))
Expand Down Expand Up @@ -248,6 +255,8 @@ quicklisp at CL startup."
(ql-scl:unix-rmdir (ql-scl:unix-namestring entry)))
(:implementation ecl
(ql-ecl:rmdir entry))
(:implementation mkcl
(ql-mkcl:rmdir entry))
(:implementation lispworks
(ql-lispworks:delete-directory entry))
(:implementation sbcl
Expand Down
18 changes: 18 additions & 0 deletions impl.lisp
Expand Up @@ -240,6 +240,24 @@
#:socket-connect
#:socket-make-stream))

;;; MKCL

(define-implementation-package :mkcl #:ql-mkcl
(:documentation "ManKai Common Lisp - http://common-lisp.net/project/mkcl/")
(:class mkcl)
(:prep
(require 'sockets))
(:intern #:host-network-address)
(:reexport-from #:si
#:rmdir
#:file-kind)
(:reexport-from #:sb-bsd-sockets
#:get-host-by-name
#:host-ent-address
#:inet-socket
#:socket-connect
#:socket-make-stream))


;;; SBCL

Expand Down
12 changes: 12 additions & 0 deletions network.lisp
Expand Up @@ -53,6 +53,18 @@
:input t
:output t
:buffering :full)))
(:implementation mkcl
(let* ((endpoint (qlqs-mkcl:host-ent-address
(qlqs-mkcl:get-host-by-name host)))
(socket (make-instance 'qlqs-mkcl:inet-socket
:protocol :tcp
:type :stream)))
(qlqs-mkcl:socket-connect socket endpoint port)
(qlqs-mkcl:socket-make-stream socket
:element-type '(unsigned-byte 8)
:input t
:output t
:buffering :full)))
(:implementation lispworks
(ql-lispworks:open-tcp-stream host port
:direction :io
Expand Down
1 change: 1 addition & 0 deletions package.lisp
Expand Up @@ -48,6 +48,7 @@
#:ecl
#:gcl
#:lispworks
#:mkcl
#:scl
#:sbcl))

Expand Down

0 comments on commit 3332f5b

Please sign in to comment.