axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Translation of the interp to lisp


From: C Y
Subject: Re: [Axiom-developer] Translation of the interp to lisp
Date: Sat, 5 Aug 2006 08:27:46 -0700 (PDT)

--- root <address@hidden> wrote:

> > 2.  I noticed a lot of implementation specific code having to do
> > with things like (system:getenv $AXIOM) - is the plan to write some
> > generic macros to handle these operations and get all of the
> > implementation specific logic into one file?
> 
> Any luck identifying GCL-specific code and writing "generic macros"?

Not too much yet, unfortunately - my original push was trying to see
how much of the axiom build process I could complete in sbcl, and I
stalled out a bit after discovering that all the effort on the boot dir
was essentially redundant.  A few not very exciting functions are about
all I have to show for that effort, unfortunately.  I put them at the
end of  this message just in case anybody ever wants to do something
similar.

A question Tim, if I may.  In looking at sys-pkg.lisp, it seems like
there are a rather large number of import and export commands contained
there.  Is this normal in lisp to have to hand-import and hand-export
so many symbols?  Also, I'm a bit confused by the BOOT and VMLISP
package relations - are they in fact cross-pollinating and importing
from/exporting to each other?  If so, wouldn't it be a bit cleaner to
get the common functionality into one package and have both BOOT and
VMLISP use that one?

As an example of a problem I don't yet understand:  in sys-pkg.lisp,
there is code of the form:

(lisp:import '(
#+:GCL    SYSTEM:DEFINE-MACRO 
#+:GCL    SYSTEM:MEMQ 
#+:GCL    SYSTEM:PNAME
          BOOT:|directoryp|))

I have changed this file somewhat for sbcl (the diff is at the very end
of the email) and I can load sys-pkg.lisp successfully after this.  But
if I try to compile the file, I get:

* (compile-file "./interp/sys-pkg.lisp")

; compiling file
"/home/user/mathtoplevel/axiomtoplevel/axiomasdf/interp/sys-pkg.lisp"
(written 05 AUG 2006 11:12:42 AM):
; compiling (DEFPACKAGE :BOOT ...)
; compiling (DEFPACKAGE :BOOTTRAN ...)
; compiling (DEFPACKAGE :VMLISP ...)
; compiling (USE-PACKAGE :VMLISP ...)
; compiling (DEFPACKAGE :FOAM ...)
; compiling (DEFPACKAGE :FOAM-USER ...)
; compiling (IN-PACKAGE "BOOT")
; compiling (IMPORT (QUOTE #))
; compiling (EXPORT (QUOTE #))
; compiling (IN-PACKAGE "VMLISP"); 
; compilation unit aborted
;   caught 1 fatal ERROR condition
compilation aborted because of fatal error:
                                   READ failure in COMPILE-FILE:
                                     READER-ERROR at 15046 (line 278,
column 27) on #<SB-SYS:FD-STREAM for "file
/home/user/mathtoplevel/axiomtoplevel/axiomasdf/interp/sys-pkg.lisp"
{A7D7491}>:
The symbol "directoryp" is not external in the BOOT package.

Does anyone know why loading would succeed when compiling fails? 

I'm beginning to think that refactoring this into ANSI lisp might have
to be sort of an ongoing thing - start by defining one piece of
functionality, and add in more as it becomes clear.  So far I'm aware
of the History mechanism and the Frames mechanism thanks to bookvol5,
the SPAD compiler, and whatever we are calling the current B-natural
like mechanism that handles actual user input.  Undoubtedly there are
more pieces I'm not even aware of.  I am able to get sys-pkg to work
with asdf by removing the directoryp reference above, but I have no
idea what its purpose is, what breaks when I do that, etc. :-(.  Not
doubt many more such problems await.

Lisp code for bootstrap:

These are set up in order to let me get at things like the notangle
command and filenames from lisp.  The results of the directory command
on lisp doesn't provide strings as such, so with the help of #lisp I
put these together.  I think this is likely to be made completely
useless by the autotools work, though - I don't know if we will ever do
this from lisp.  These are only defined in sbcl, but other
implementation specific code can certainly be added - I just don't know
at the moment what is needed.

(defun pathname-to-string (file)
 #+sbcl (sb-ext:native-namestring file)
   )

(defun run-ext-program (string args out)
 #+sbcl (sb-ext:run-program string args :input nil :output out :wait t)
   )

(defun pamphletname-to-filename (file)
   (subseq (pathname-to-string file) 0 
           (position #\. (pathname-to-string file) :from-end t)))

This was my "run notangle from lisp" code using the above.  Again
rather specific to the bootstrap problem, and not likely of importance
for the future.  I should mention the above definitions and the
contents below were in a separate setup directory so they didn't erase
themselves ;-).

;; boot pamphlet files

(dolist (file (directory "./boot/*.boot"))
   (run-ext-program "/usr/bin/rm" (list (pathname-to-string file))
nil))

(dolist (file (directory "./boot/*.l*sp"))
   (run-ext-program "/usr/bin/rm" (list (pathname-to-string file))
nil))

#+sbcl(dolist (file (directory "./boot/*.fasl"))
        (run-ext-program "/usr/bin/rm" (list (pathname-to-string file))
nil))

(dolist (file (directory "./boot/*.l*sp.pamphlet"))
   (run-ext-program "/usr/bin/notangle" (list (pathname-to-string
file)) (pamphletname-to-filename file)))

(dolist (file (directory "./boot/*.boot.pamphlet"))
   (run-ext-program "/usr/bin/notangle" (list (pathname-to-string
file)) (pamphletname-to-filename file)))

;; In the case of boot, there are special steps which need to be taken
in order to bootstrap the language.
;; Because of that, the .boot files in this directory also contain lisp
code, which will be needed.
(run-ext-program "/usr/bin/notangle" (list "-Rptyout.clisp"
"./boot/ptyout.boot.pamphlet") "./boot/ptyout.lisp")
(run-ext-program "/usr/bin/notangle" (list "-Rbtincl2.clisp"
"./boot/btincl2.boot.pamphlet") "./boot/btincl2.lisp")
(run-ext-program "/usr/bin/notangle" (list "-Rtyprops.clisp"
"./boot/typrops.boot.pamphlet") "./boot/typrops.lisp")
(run-ext-program "/usr/bin/notangle" (list "-Rbtpile2.clisp"
"./boot/btpile2.boot.pamphlet") "./boot/btpile2.lisp")
(run-ext-program "/usr/bin/notangle" (list "-Rbtscan2.clisp"
"./boot/btscan2.boot.pamphlet") "./boot/btscan2.lisp")
(run-ext-program "/usr/bin/notangle" (list "-Rtypars.clisp"
"./boot/typars.boot.pamphlet") "./boot/typars.lisp")
(run-ext-program "/usr/bin/notangle" (list "-Rtyextra.clisp"
"./boot/tyextra.boot.pamphlet") "./boot/tyextra.lisp")
(run-ext-program "/usr/bin/notangle" (list "-Rtytree1.clisp"
"./boot/tytree1.boot.pamphlet") "./boot/tytree1.lisp")

;; interp pamphlet files

#+sbcl(dolist (file (directory "./interp/*.fasl"))
        (run-ext-program "/usr/bin/rm" (list (pathname-to-string file))
nil))

(dolist (file (directory "./interp/*.boot"))
   (run-ext-program "/usr/bin/rm" (list (pathname-to-string file))
nil))

(dolist (file (directory "./interp/*.l*sp"))
   (run-ext-program "/usr/bin/rm" (list (pathname-to-string file))
nil))

(dolist (file (directory "./interp/*.l*sp.pamphlet"))
   (run-ext-program "/usr/bin/notangle" (list (pathname-to-string
file)) (pamphletname-to-filename file)))

(dolist (file (directory "./interp/*.boot.pamphlet"))
   (run-ext-program "/usr/bin/notangle" (list (pathname-to-string
file)) (pamphletname-to-filename file)))

(run-ext-program "/usr/bin/notangle" (list "-RInterpreter"
"./interp/bookvol5.pamphlet") "./interp/bookvol5.lisp")




This is the diff of sys-pkg.lisp mentioned earlier:


--- ../axiom/src/interp/sys-pkg.lisp    2006-08-05 11:10:01.000000000
-0400
+++ interp/sys-pkg.lisp 2006-08-05 11:12:42.000000000 -0400
@@ -30,38 +30,33 @@
 ;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-(make-package "SCRATCHPAD_COMPILER")
-(make-package "SPECFNSF")
+(defpackage :boot
+    (:use :cl))
 
-(make-package "VMLISP")
-(in-package "VMLISP")
-(lisp::use-package '("USER" "SYSTEM" "LISP"))
-
-(make-package "BOOTTRAN")
-(in-package "BOOTTRAN")
-(lisp::use-package '("LISP"))
+(defpackage :boottran
+    (:use :cl))
 
-(make-package "BOOT")
-(in-package "BOOT")
-(lisp::use-package '("VMLISP" "LISP"))
+(defpackage :vmlisp
+    (:use :cl-user :cl #+gcl :system))
+
+(use-package :VMLISP :boot)
+
+(defpackage :foam
+    (:use :cl))
+
+(defpackage :foam-user
+    (:use :cl :foam))
+
+(cl::in-package "BOOT")
 
-(make-package "FOAM")
-(in-package "FOAM")
-(lisp::use-package '("LISP"))
 
-(make-package "FOAM-USER")
-(in-package "FOAM-USER")
-(lisp::use-package '("LISP" "FOAM"))
-
-(lisp:in-package "BOOT")
-
-(lisp:import
-    '(VMLISP::ERROROUTSTREAM LISP::COUNT VMLISP::NE VMLISP::FLUID
-         LISP:SEQUENCE VMLISP::OBEY LISP:NUMBER VMLISP::|union|
-         LISP:STEP VMLISP::OPTIONLIST VMLISP::EXIT
VMLISP::throw-protect
+(cl:import
+    '(VMLISP::ERROROUTSTREAM cl::COUNT VMLISP::NE VMLISP::FLUID
+         cl:SEQUENCE VMLISP::OBEY cl:NUMBER VMLISP::|union|
+         cl:STEP VMLISP::OPTIONLIST VMLISP::EXIT VMLISP::throw-protect
 #+:GCL   SYSTEM:GETENV
          VMLISP::*INDEX-FILENAME*))
-(lisp:export
+(cl:export
     '(BOOT::|$FormalMapVariableList| BOOT::|$userModemaps|
          boot::restart boot::$IEEE
          BOOT::|directoryp| boot::help boot::|version| boot::|pp|
@@ -76,7 +71,7 @@
          BOOT::|$InteractiveTimingStatsIfTrue|
BOOT::|$leaveLevelStack|
          BOOT::|$xyMin| BOOT::|lcm| BOOT::STRINGSUFFIX
          BOOT::|Category| BOOT::ESCAPE-CHARACTER
-         LISP:COUNT BOOT::|break| BOOT::$DIRECTORY
+         cl:COUNT BOOT::|break| BOOT::$DIRECTORY
          BOOT::CONVERSATION BOOT::|fillerSpaces|
          BOOT::$REVERSEVIDEOSTRING BOOT::|$DomainsInScope|
          BOOT::|$gauss01| BOOT::|$mostRecentOpAlist| BOOT::SUBLISLIS
@@ -169,7 +164,7 @@
          BOOT::|$userConstructors| BOOT::BOOT-NEQUAL BOOT::RPLAC
          BOOT::GETTAIL BOOT::|QuotientField| BOOT::CURRENT-TOKEN
          BOOT::|$suffix| BOOT::|$VariableCount| BOOT::COMPARE
-         LISP:SEQUENCE BOOT::|$Exit| BOOT::BOOT-EQUAL BOOT::LT
+         cl:SEQUENCE BOOT::|$Exit| BOOT::BOOT-EQUAL BOOT::LT
          VMLISP::OBEY BOOT::|UnSizedBox| BOOT::|Integer| BOOT::|Nud|
          BOOT::IOCLEAR BOOT::|$BigFloatOpt| BOOT::|$EmptyEnvironment|
          BOOT::|$forceDatabaseUpdate| BOOT::$LINESTACK BOOT::ULCASEFG
@@ -188,7 +183,7 @@
          BOOT::SPADCALL BOOT::DELASC BOOT::FAIL BOOT::$COMPILE
          BOOT::|$lastUntraced| BOOT::|$lisplibKind|
          BOOT::|$tracedModemap| BOOT::|$inputPromptType| BOOT::LASSOC
-         LISP:NUMBER BOOT::|$prefix| BOOT::|$TranslateOnly| BOOT::SAY
+         cl:NUMBER BOOT::|$prefix| BOOT::|$TranslateOnly| BOOT::SAY
          BOOT::|$CategoryFrame| BOOT::|$croakIfTrue| BOOT::|$exitMode|
          BOOT::|$lisplibDependentCategories| BOOT::|$NoValue|
          BOOT::MOAN BOOT::POP-STACK-2 BOOT::BAC
@@ -249,7 +244,7 @@
          BOOT::|$lisplibModemap| BOOT::|$NoValueMode|
BOOT::|$PrintBox|
          BOOT::ADVANCE-TOKEN BOOT::|$NegativeIntegerOpt|
          BOOT::|$polyDefaultAssoc| BOOT::|$PrimitiveDomainNames|
-         LISP:STEP BOOT::|rassoc| BOOT::|$Res|
+         cl:STEP BOOT::|rassoc| BOOT::|$Res|
          BOOT::MATCH-CURRENT-TOKEN BOOT::/GENSYMLIST BOOT::|$false|
          BOOT::|$ignoreCommentsIfTrue| BOOT::|$ModeVariableList|
          BOOT::|$useBFasDefault| BOOT::|$CommonDomains|
@@ -275,13 +270,13 @@
          BOOT::$DALYMODE))
 
 ;;; Definitions for package VMLISP of type EXPORT
-(lisp:in-package "VMLISP")
-(lisp:import '(
+(cl:in-package "VMLISP")
+(cl:import '(
 #+:GCL    SYSTEM:DEFINE-MACRO 
 #+:GCL    SYSTEM:MEMQ 
 #+:GCL    SYSTEM:PNAME
           BOOT:|directoryp|))
-(lisp:export
+(cl:export
     '(VMLISP::SINTP VMLISP::$FCOPY 
 #+:GCL    SYSTEM:DEFINE-MACRO 
 #+:GCL    SYSTEM:MEMQ 
@@ -401,21 +396,21 @@
          VMLISP::COMPILE-LIB-FILE
VMLISP::RECOMPILE-LIB-FILE-IF-NECESSARY))
 
 ;;; Definitions for package BOOT of type SHADOW
-(lisp:in-package "BOOT")
-(lisp:shadow '(BOOT::MAP))
-(lisp:import
-    '(VMLISP::ERROROUTSTREAM LISP:COUNT VMLISP::NE VMLISP::FLUID
-         LISP:SEQUENCE VMLISP::OBEY LISP::NUMBER VMLISP::|union|
-         LISP:STEP VMLISP::OPTIONLIST VMLISP::EXIT
VMLISP::LEXGREATERP))
-(lisp:import '(vmlisp::make-input-filename))
-(lisp:import '(vmlisp::libstream-dirname))
-(lisp:import '(user::spad-save))
-(lisp:import '(vmlisp::eqcar))
-(lisp:export '(boot::eqcar))
+(cl:in-package "BOOT")
+(cl:shadow '(BOOT::MAP))
+(cl:import
+    '(VMLISP::ERROROUTSTREAM cl:COUNT VMLISP::NE VMLISP::FLUID
+         cl:SEQUENCE VMLISP::OBEY cl::NUMBER VMLISP::|union|
+         cl:STEP VMLISP::OPTIONLIST VMLISP::EXIT VMLISP::LEXGREATERP))
+(cl:import '(vmlisp::make-input-filename))
+(cl:import '(vmlisp::libstream-dirname))
+(cl:import '(cl-user::spad-save))
+(cl:import '(vmlisp::eqcar))
+(cl:export '(boot::eqcar))
 
 ;;; Definitions for package VMLISP of type SHADOW
-(lisp:in-package "VMLISP")
-(lisp:import '(SYSTEM::DEFINE-MACRO SYSTEM::MEMQ SYSTEM::PNAME))
+(cl:in-package "VMLISP")
+#+gcl (cl:import '(SYSTEM::DEFINE-MACRO SYSTEM::MEMQ SYSTEM::PNAME))
 
 
 (in-package "BOOT") ;; Used to be "UNCOMMON"
@@ -549,183 +544,183 @@
 ))
 
 (in-package "BOOT")
-(lisp:export '(boot::ncloop boot::ncrecover))
-(lisp:import '(vmlisp::make-input-filename vmlisp::is-console))
-;; (lisp:import '(boot::|openServer|))
-;; (lisp:import '(boot::|sockGetInt|))
-;; (lisp:import '(boot::|sockSendInt|))
-;; (lisp:import '(boot::|sockGetInts|))
-;; (lisp:import '(boot::|sockSendInts|))
-;; (lisp:import '(boot::|sockGetString|))
-;; (lisp:import '(boot::|sockSendString|))
-;; (lisp:import '(boot::|sockGetFloat|))
-;; (lisp:import '(boot::|sockSendFloat|))
-;; (lisp:import '(boot::|sockGetFloats|))
-;; (lisp:import '(boot::|sockSendFloats|))
-;; (lisp:import '(boot::|sockSendWakeup|))
-;; (lisp:import '(boot::|sockSendSignal|))
-(lisp:import '(vmlisp::qsdifference))
-(lisp:import '(vmlisp::qsminusp))
-(lisp:import '(vmlisp::qsplus))
-(lisp:import '(vmlisp::absval))
-(lisp:import '(vmlisp::cgreaterp))
-(lisp:import '(vmlisp::char2num))
-(lisp:import '(vmlisp::charp))
-(lisp:import '(vmlisp::concat))
-(lisp:import '(vmlisp::copy))
-(lisp:import '(vmlisp::difference))
-(lisp:import '(vmlisp::digitp))
-(lisp:import '(vmlisp::divide))
-(lisp:import '(vmlisp::eqcar))
-(lisp:import '(vmlisp::fixp))
-(lisp:import '(vmlisp::greaterp))
-(lisp:import '(vmlisp::hasheq))
-(lisp:import '(vmlisp::hput))
-(lisp:import '(vmlisp::hrem))
-(lisp:import '(vmlisp::identp))
-(lisp:import '(vmlisp::lessp))
-(lisp:import '(vmlisp::ln))
-(lisp:import '(vmlisp::make-cvec))
-(lisp:import '(vmlisp::make-full-cvec))
-(lisp:import '(vmlisp::make-vec))
-#-(or :lispm :lucid) (lisp:import '(vmlisp::memq))
-#+(and :lucid (not :ibm/370)) (lisp:import '(system:memq))
-(lisp:import '(vmlisp::movevec))
-(lisp:import '(vmlisp::pname))
-(lisp:import '(vmlisp::prettyprin0))
-(lisp:import '(vmlisp::prettyprint))
-(lisp:import '(vmlisp::printexp))
-(lisp:import '(vmlisp::qassq))
-(lisp:import '(vmlisp::qcar))
-(lisp:import '(vmlisp::qcdr))
-(lisp:import '(vmlisp::qcaar))
-(lisp:import '(vmlisp::qcadr))
-(lisp:import '(vmlisp::qcdar))
-(lisp:import '(vmlisp::qcddr))
-(lisp:import '(vmlisp::qcaaar))
-(lisp:import '(vmlisp::qcaadr))
-(lisp:import '(vmlisp::qcadar))
-(lisp:import '(vmlisp::qcaddr))
-(lisp:import '(vmlisp::qcdaar))
-(lisp:import '(vmlisp::qcdadr))
-(lisp:import '(vmlisp::qcddar))
-(lisp:import '(vmlisp::qcdddr))
-(lisp:import '(vmlisp::qcaaaar))
-(lisp:import '(vmlisp::qcaaadr))
-(lisp:import '(vmlisp::qcaadar))
-(lisp:import '(vmlisp::qcaaddr))
-(lisp:import '(vmlisp::qcadaar))
-(lisp:import '(vmlisp::qcadadr))
-(lisp:import '(vmlisp::qcaddar))
-(lisp:import '(vmlisp::qcadddr))
-(lisp:import '(vmlisp::qcdaaar))
-(lisp:import '(vmlisp::qcdaadr))
-(lisp:import '(vmlisp::qcdadar))
-(lisp:import '(vmlisp::qcdaddr))
-(lisp:import '(vmlisp::qcddaar))
-(lisp:import '(vmlisp::qcddadr))
-(lisp:import '(vmlisp::qcdddar))
-(lisp:import '(vmlisp::qcddddr))
-(lisp:import '(vmlisp::qcsize))
-(lisp:import '(vmlisp::qenum))
-(lisp:import '(vmlisp::qeset))
-(lisp:import '(vmlisp::qlength))
-(lisp:import '(vmlisp::qmemq))
-(lisp:import '(vmlisp::qsadd1))
-(lisp:import '(vmlisp::qslessp))
-(lisp:import '(vmlisp::qsdec1))
-(lisp:import '(vmlisp::qsetvelt))
-(lisp:import '(vmlisp::qsgreaterp))
-(lisp:import '(vmlisp::qsinc1))
-(lisp:import '(vmlisp::qsmax))
-(lisp:import '(vmlisp::qsmin))
-(lisp:import '(vmlisp::qsoddp))
-(lisp:import '(vmlisp::qsquotient))
-(lisp:import '(vmlisp::qsremainder))
-(lisp:import '(vmlisp::qssub1))
-(lisp:import '(vmlisp::qstimes))
-(lisp:import '(vmlisp::qszerop))
-(lisp:import '(vmlisp::qszerop))
-(lisp:import '(vmlisp::qvelt))
-(lisp:import '(vmlisp::qvsize))
-(lisp:import '(vmlisp::setandfileq))
-(lisp:import '(vmlisp::sintp))
-(lisp:import '(vmlisp::size))
-(lisp:import '(vmlisp::stringimage))
-(lisp:import '(vmlisp::strpos))
-(lisp:import '(vmlisp::strposl))
-(lisp:import '(vmlisp::substring))
-;; (lisp:import '(boot::|error|))
-(lisp:import '(vmlisp::ivecp))
-(lisp:import '(vmlisp::rvecp))
-(lisp:import '(vmlisp::dig2fix))
-(lisp:import '(vmlisp::rnump))
-(lisp:import '(vmlisp::fix))
-(lisp:import '(vmlisp::sortgreaterp))
-(lisp:import '(vmlisp::qsort))
-(lisp:import '(vmlisp::sortby))
-(lisp:import '(vmlisp::make-instream))
-(lisp:import '(vmlisp::list2vec))
-(lisp:import '(vmlisp::vec2list))
-(lisp:import '(vmlisp::sub1))
-(lisp:import '(vmlisp::add1))
-(lisp:import '(vmlisp::neq))
-(lisp:import '(vmlisp::hashtable-class))
-(lisp:import '(vmlisp::maxindex))
-;; (lisp:import '(boot::remdup))
-(lisp:import '(vmlisp::upcase))
-(lisp:import '(vmlisp::downcase))
-(lisp:import '(vmlisp::vecp))
-(lisp:import '(vmlisp::strconc))
-(lisp:import '(vmlisp::defiostream))
-(lisp:import '(vmlisp::shut))
-(lisp:import '(vmlisp::prin2cvec))
-;; (lisp:import '(boot::lasttail))
-;; (lisp:import '(boot::lastpair))
-;; (lisp:import '(boot::lastatom))
-;; (lisp:import '(boot::|last|))
-(lisp:import '(vmlisp::ncons))
-(lisp:import '(vmlisp::rplpair))
-(lisp:import '(vmlisp::nump))
-(lisp:import '(vmlisp::intp))
-(lisp:import '(vmlisp::makeprop))
-(lisp:import '(vmlisp::ifcar))
-(lisp:import '(vmlisp::ifcdr))
-(lisp:import '(vmlisp::quotient))
-(lisp:import '(vmlisp::remainder))
-(lisp:import '(vmlisp::make-hashtable))
-(lisp:import '(vmlisp::hget))
-(lisp:import '(vmlisp::hkeys))
-(lisp:import '(vmlisp::$infilep))
-(lisp:import '(vmlisp::$findfile))
-(lisp:import '(vmlisp::pairp))
-(lisp:import '(vmlisp::cvec))
-(lisp:import '(vmlisp::uequal))
-(lisp:import '(vmlisp::id))
-(lisp:import '(vmlisp::vec-setelt))
-(lisp:import '(vmlisp::make-bvec))
-;; (lisp:import '(boot::bvec-make-full))
-;; (lisp:import '(boot::bvec-setelt))
-(lisp:import '(vmlisp::|shoeread-line|))
-(lisp:import '(vmlisp::|shoeInputFile|))
-(lisp:import '(vmlisp::|shoeConsole|))
-(lisp:import '(vmlisp::|startsId?|))
-(lisp:import '(vmlisp::|idChar?|))
-(lisp:import '(vmlisp::|npPC|))
-(lisp:import '(vmlisp::|npPP|))
-;; (lisp:import '(boot::mkprompt))
-;; (lisp:import '(boot::|fillerSpaces|))
-;; (lisp:import '(boot::|sayString|))
-;; (lisp:import '(boot::help))
-;; (lisp:import '(boot::|version|))
-;; (lisp:import '(boot::|pp|))
-;; (lisp:import '(boot::$dalymode))
+(cl:export '(boot::ncloop boot::ncrecover))
+(cl:import '(vmlisp::make-input-filename vmlisp::is-console))
+;; (cl:import '(boot::|openServer|))
+;; (cl:import '(boot::|sockGetInt|))
+;; (cl:import '(boot::|sockSendInt|))
+;; (cl:import '(boot::|sockGetInts|))
+;; (cl:import '(boot::|sockSendInts|))
+;; (cl:import '(boot::|sockGetString|))
+;; (cl:import '(boot::|sockSendString|))
+;; (cl:import '(boot::|sockGetFloat|))
+;; (cl:import '(boot::|sockSendFloat|))
+;; (cl:import '(boot::|sockGetFloats|))
+;; (cl:import '(boot::|sockSendFloats|))
+;; (cl:import '(boot::|sockSendWakeup|))
+;; (cl:import '(boot::|sockSendSignal|))
+(cl:import '(vmlisp::qsdifference))
+(cl:import '(vmlisp::qsminusp))
+(cl:import '(vmlisp::qsplus))
+(cl:import '(vmlisp::absval))
+(cl:import '(vmlisp::cgreaterp))
+(cl:import '(vmlisp::char2num))
+(cl:import '(vmlisp::charp))
+(cl:import '(vmlisp::concat))
+(cl:import '(vmlisp::copy))
+(cl:import '(vmlisp::difference))
+(cl:import '(vmlisp::digitp))
+(cl:import '(vmlisp::divide))
+(cl:import '(vmlisp::eqcar))
+(cl:import '(vmlisp::fixp))
+(cl:import '(vmlisp::greaterp))
+(cl:import '(vmlisp::hasheq))
+(cl:import '(vmlisp::hput))
+(cl:import '(vmlisp::hrem))
+(cl:import '(vmlisp::identp))
+(cl:import '(vmlisp::lessp))
+(cl:import '(vmlisp::ln))
+(cl:import '(vmlisp::make-cvec))
+(cl:import '(vmlisp::make-full-cvec))
+(cl:import '(vmlisp::make-vec))
+#-(or :lispm :lucid) (cl:import '(vmlisp::memq))
+#+(and :lucid (not :ibm/370)) (cl:import '(system:memq))
+(cl:import '(vmlisp::movevec))
+(cl:import '(vmlisp::pname))
+(cl:import '(vmlisp::prettyprin0))
+(cl:import '(vmlisp::prettyprint))
+(cl:import '(vmlisp::printexp))
+(cl:import '(vmlisp::qassq))
+(cl:import '(vmlisp::qcar))
+(cl:import '(vmlisp::qcdr))
+(cl:import '(vmlisp::qcaar))
+(cl:import '(vmlisp::qcadr))
+(cl:import '(vmlisp::qcdar))
+(cl:import '(vmlisp::qcddr))
+(cl:import '(vmlisp::qcaaar))
+(cl:import '(vmlisp::qcaadr))
+(cl:import '(vmlisp::qcadar))
+(cl:import '(vmlisp::qcaddr))
+(cl:import '(vmlisp::qcdaar))
+(cl:import '(vmlisp::qcdadr))
+(cl:import '(vmlisp::qcddar))
+(cl:import '(vmlisp::qcdddr))
+(cl:import '(vmlisp::qcaaaar))
+(cl:import '(vmlisp::qcaaadr))
+(cl:import '(vmlisp::qcaadar))
+(cl:import '(vmlisp::qcaaddr))
+(cl:import '(vmlisp::qcadaar))
+(cl:import '(vmlisp::qcadadr))
+(cl:import '(vmlisp::qcaddar))
+(cl:import '(vmlisp::qcadddr))
+(cl:import '(vmlisp::qcdaaar))
+(cl:import '(vmlisp::qcdaadr))
+(cl:import '(vmlisp::qcdadar))
+(cl:import '(vmlisp::qcdaddr))
+(cl:import '(vmlisp::qcddaar))
+(cl:import '(vmlisp::qcddadr))
+(cl:import '(vmlisp::qcdddar))
+(cl:import '(vmlisp::qcddddr))
+(cl:import '(vmlisp::qcsize))
+(cl:import '(vmlisp::qenum))
+(cl:import '(vmlisp::qeset))
+(cl:import '(vmlisp::qlength))
+(cl:import '(vmlisp::qmemq))
+(cl:import '(vmlisp::qsadd1))
+(cl:import '(vmlisp::qslessp))
+(cl:import '(vmlisp::qsdec1))
+(cl:import '(vmlisp::qsetvelt))
+(cl:import '(vmlisp::qsgreaterp))
+(cl:import '(vmlisp::qsinc1))
+(cl:import '(vmlisp::qsmax))
+(cl:import '(vmlisp::qsmin))
+(cl:import '(vmlisp::qsoddp))
+(cl:import '(vmlisp::qsquotient))
+(cl:import '(vmlisp::qsremainder))
+(cl:import '(vmlisp::qssub1))
+(cl:import '(vmlisp::qstimes))
+(cl:import '(vmlisp::qszerop))
+(cl:import '(vmlisp::qszerop))
+(cl:import '(vmlisp::qvelt))
+(cl:import '(vmlisp::qvsize))
+(cl:import '(vmlisp::setandfileq))
+(cl:import '(vmlisp::sintp))
+(cl:import '(vmlisp::size))
+(cl:import '(vmlisp::stringimage))
+(cl:import '(vmlisp::strpos))
+(cl:import '(vmlisp::strposl))
+(cl:import '(vmlisp::substring))
+;; (cl:import '(boot::|error|))
+(cl:import '(vmlisp::ivecp))
+(cl:import '(vmlisp::rvecp))
+(cl:import '(vmlisp::dig2fix))
+(cl:import '(vmlisp::rnump))
+(cl:import '(vmlisp::fix))
+(cl:import '(vmlisp::sortgreaterp))
+(cl:import '(vmlisp::qsort))
+(cl:import '(vmlisp::sortby))
+(cl:import '(vmlisp::make-instream))
+(cl:import '(vmlisp::list2vec))
+(cl:import '(vmlisp::vec2list))
+(cl:import '(vmlisp::sub1))
+(cl:import '(vmlisp::add1))
+(cl:import '(vmlisp::neq))
+(cl:import '(vmlisp::hashtable-class))
+(cl:import '(vmlisp::maxindex))
+;; (cl:import '(boot::remdup))
+(cl:import '(vmlisp::upcase))
+(cl:import '(vmlisp::downcase))
+(cl:import '(vmlisp::vecp))
+(cl:import '(vmlisp::strconc))
+(cl:import '(vmlisp::defiostream))
+(cl:import '(vmlisp::shut))
+(cl:import '(vmlisp::prin2cvec))
+;; (cl:import '(boot::lasttail))
+;; (cl:import '(boot::lastpair))
+;; (cl:import '(boot::lastatom))
+;; (cl:import '(boot::|last|))
+(cl:import '(vmlisp::ncons))
+(cl:import '(vmlisp::rplpair))
+(cl:import '(vmlisp::nump))
+(cl:import '(vmlisp::intp))
+(cl:import '(vmlisp::makeprop))
+(cl:import '(vmlisp::ifcar))
+(cl:import '(vmlisp::ifcdr))
+(cl:import '(vmlisp::quotient))
+(cl:import '(vmlisp::remainder))
+(cl:import '(vmlisp::make-hashtable))
+(cl:import '(vmlisp::hget))
+(cl:import '(vmlisp::hkeys))
+(cl:import '(vmlisp::$infilep))
+(cl:import '(vmlisp::$findfile))
+(cl:import '(vmlisp::pairp))
+(cl:import '(vmlisp::cvec))
+(cl:import '(vmlisp::uequal))
+(cl:import '(vmlisp::id))
+(cl:import '(vmlisp::vec-setelt))
+(cl:import '(vmlisp::make-bvec))
+;; (cl:import '(boot::bvec-make-full))
+;; (cl:import '(boot::bvec-setelt))
+(cl:import '(vmlisp::|shoeread-line|))
+(cl:import '(vmlisp::|shoeInputFile|))
+(cl:import '(vmlisp::|shoeConsole|))
+(cl:import '(vmlisp::|startsId?|))
+(cl:import '(vmlisp::|idChar?|))
+(cl:import '(vmlisp::|npPC|))
+(cl:import '(vmlisp::|npPP|))
+;; (cl:import '(boot::mkprompt))
+;; (cl:import '(boot::|fillerSpaces|))
+;; (cl:import '(boot::|sayString|))
+;; (cl:import '(boot::help))
+;; (cl:import '(boot::|version|))
+;; (cl:import '(boot::|pp|))
+;; (cl:import '(boot::$dalymode))
 
-(lisp:import 'boot::$IEEE)
+(cl:import 'boot::$IEEE)
 
 (in-package "FOAM")
 
-(lisp:export '(
+(cl:export '(
 FOAM::|printDFloat|
 FOAM::|printSFloat|
 FOAM::|printBInt|


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]