' > PACKAGE RPACKAGE ENTRY EXTERNAL USE USE-TOTAL DROP NULL-OBLIST ENDPACKAGE FILSTR FILPRS L-SEARCH-PATH L-SECOND-NAMES L-TEMP-PATH L-LOAD L-DOITEM L-ITEMS-NAME L-INDEX-NAME L-DATUM USE-DATUM L-NO-FILES L-NO-MAGIC L-ALWAYS-INQUIRE L-HANDLER L-UNUSE L-FIND USE-DEFER L-GASSIGNED? L-NO-DEFER L-NOISY INDENT-TO L-TRANSLATIONS TRANSLATE UNTRANSLATE )> )> > > "])> "]> > > FILSTR #DECL ("VALUE" STRING "TUPLE" ) "READ"]>> .GLUE > FILPRS #DECL ("VALUE" STRING) "READ"]>> .GLUE > FIND/LOAD #DECL ("VALUE" STRING "OPTIONAL" LIST) TRANSLATE? SEARCH L-TEMP-PATH L-SEARCH-PATH OUTCHAN % (CHANNEL) (ANY) OBLIST % % "/" "<>" T % IN-COLLECTION]>> .GLUE > SEARCH #DECL ("VALUE" ANY ]>) GDCHN % GDCHN % % "READ" "DSK"]>> .GLUE > PACKAGE #DECL ("VALUE" ATOM STRING "OPTIONAL" STRING FIX FIX) TRANSLATE? % IOBLIST IN-COLLECTION % T]>> .GLUE > RPACKAGE #DECL ("VALUE" ANY STRING "OPTIONAL" STRING FIX) TRANSLATE? % % IOBLIST IN-COLLECTION % T]>> .GLUE > ENTRY #DECL ("VALUE" ATOM "TUPLE" ) T % OBLIST USE-DEFER IN-COLLECTION ENTRY NOT-IN-PACKAGE-OR-COLLECTION!-ERRORS ALREADY-USED-ELSEWHERE!-ERRORS]>> .GLUE > USE #DECL ("VALUE" ATOM "TUPLE" < TUPLE [REST STRING]>) FIND/LOAD OBLIST USE PACKAGE NOT-FOUND!-ERRORS T %]>> .GLUE > USE-TOTAL #DECL ("VALUE" ATOM "TUPLE" ) FIND/LOAD OBLIST USE PACKAGE NOT-FOUND!-ERRORS T % IOBLIST]>> .GLUE > > L-GASSIGNED? #DECL ( "VALUE" ANY) USE L-TEMP-PATH L-SEARCH-PATH (LIST) USE-DEFER PACKAGE "PACKAGE DID NOT DEFINE FUNCTION" T]>> .GLUE > DROP #DECL ("VALUE" ATOM "TUPLE" ) TRANSLATE? OBLIST DROP % PACKAGE NOT-PACKAGE-OR-COLLECTION!-ERRORS IOBLIST]>> .GLUE > > ENDPACKAGE #DECL ("VALUE" ATOM) OBLIST IN-COLLECTION % T IOBLIST % UNMATCHED-ENDPACKAGE-OR-ENDCOLLECTION!-ERRORS]>> .GLUE > L-UNUSE #DECL ("VALUE" > ) TRANSLATE? DROP T % IOBLIST OBLIST "PACKAGE REMOVED" % "DATUM REMOVED" # FALSE ("NOT PACKAGE OR DATUM")]>> .GLUE > TRANSLATE? #DECL ("VALUE" ]>> STRING "OPTIONAL" ) %< RGLOC L-TRANSLATIONS T> "!-"]>> .GLUE > "/* MAGIC KLUDGE, LOAD SDML HERE, WHERE ENOUGH IS DEFINED, BUT NOT THE PART THAT DEPENDS ON SDML, OLD BOOTSTRAPPING PROBLEM */" USE-DEFER #DECL ("VALUE" ATOM "TUPLE" ) USE GDCHN OBLIST NMLST (LIST) % USE-DEFER % L-SEARCH-PATH % % PACKAGE NOT-FOUND!-ERRORS]>> .GLUE > L-DATUM #DECL ("VALUE" ANY ANY "OPTIONAL" ANY) SEARCH L-SEARCH-PATH #FALSE ("DATUM NOT FOUND")]>> .GLUE > > USE-DATUM #DECL ("VALUE" ANY ANY) TRANSLATE? L-DATUM %]>> .GLUE > TRANSLATE #DECL ("VALUE" < OR FALSE STRING> STRING ) %]>> .GLUE > UNTRANSLATE #DECL ( "VALUE" > STRING) % #FALSE ( "NOT TRANSLATED")]>> .GLUE > GDCHN #DECL ("VALUE" ANY STRING STRING "OPTIONAL" ANY) L-DOITEM %]>> .GLUE > L-LOAD #DECL ("VALUE" ANY "OPTIONAL" ANY) GDCHN L-SEARCH-PATH %]> > .GLUE > > L-DOITEM #DECL ("VALUE" ANY STRING STRING ANY ANY "TUPLE" TUPLE) POPEN PCLOSE SDMACT SDMDCT PRESET % T "READ" " " "PRINT" "NUL:"]>> .GLUE > DOSEARCH #DECL ("VALUE" < LIST [REST LIST]> LIST STRING ANY) L-DOITEM % T BAD-ARG!-ERRORS DOSEARCH]>> .GLUE > EXSEARCH #DECL ("VALUE" < LIST [REST LIST]> ANY ANY ANY) DOSEARCH]>> .GLUE > L-FIND #DECL ("VALUE" > STRING) EXSEARCH L-SEARCH-PATH %]>> .GLUE > > > > OBLIST>> L-HANDLER #DECL ("VALUE" ANY FRAME "TUPLE" TUPLE) L-GASSIGNED? EXSEARCH DISP-CHOICE TRANSLATE? USE REDEFINE (ANY) UNASSIGNED-VARIABLE!-ERRORS GVAL UNBOUND-VARIABLE!-ERRORS VALUE CALLER T % % % L-SEARCH-PATH %< RGLOC L-INDEX-NAME T> % " " "!-PACKAGE!- " OBLIST L-TEMP-PATH (>) "PACKAGE DID NOT DEFINE FUNCTION"]>> .GLUE > DISP-CHOICE #DECL ( "VALUE" FIX ANY) INDENT-TO OUTCHAN % ( CHANNEL) " TO GET " " DYNAMICALLY LOAD 0 NONE -- GENERATE ERROR " " " "in " "# to load? " %]>> .GLUE >