‘XCL Compiler output for source file {PELE:MV:ENVOS}LIBRARY>HASH-FILE.;2 Source file created Monday, 11 June 1990, 16:16:54. FASL file created Friday, 26 February 1993, 11:23:40. ÿ˜–#ogg o ˜•ŒFILECREATEDLOC˜Œ*STANDARD-INPUT*˜Œ1 top-level form˜ŒFUNCTION˜“€˜•ŒDEFINE-FILE-INFO˜ŒOPEN ˜ŒOUTPUT˜Œ DIRECTION˜“˜Œ READTABLE˜ŒXCL˜ŒPACKAGE˜“˜’Œ DEFPACKAGE˜‘˜ŒXEROX-COMMON-LISP˜Œ HASH-FILE˜“˜ŒUSE˜ŒLISP˜ŒXCL˜“˜ŒIMPORT˜•ŒWITH-READER-ENVIRONMENT˜•ŒMAKE-READER-ENVIRONMENT˜•ŒFIND-READTABLE˜•ŒUNINTERRUPTABLY˜•Œ WITH.MONITOR˜•ŒCREATE.MONITORLOCK˜•Œ MONITORLOCK˜Œ{Null}˜–TABLE-POINTER™+˜’Œ ADD-ENTRY™+˜’ŒENSURE-STREAM-IS-OPEN™+˜’Œ NEXT-PRIME™+˜’Œ WRITE-SIZE™+˜’Œ READ-SIZE™+˜’Œ WRITE-COUNT™+˜’Œ READ-COUNT™+˜’Œ WRITE-POINTER™+˜’Œ READ-POINTER™+˜’Œ NULL-POINTER?™+˜“™O˜•Œ;;˜Œ conveniences˜“™C˜’Œ HISTOGRAM™+˜’ŒCONVERT™+˜“™N˜“™O™P˜Œdefault user code˜“™C˜’Œ HASH-OBJECT™+˜’ŒHASH-OBJECT-INTERNAL™+˜’ŒCOMBINE™+˜“™F˜’Œ *HASH-DEPTH*™+˜“™C˜’ŒDEFAULT-READ-FN™+˜’ŒDEFAULT-PRINT-FN™+˜“™F˜’Œ*READER-ENVIRONMENT*™+˜“˜•ŒPROP˜“˜•ŒFILETYPE˜•ŒMAKEFILE-ENVIRONMENT™( ˜“˜”˜Œ11-Jun-90 16:24:56•Œ1{DSK}local>lde>lispcore>library>HASH-FILE.;2˜–Dgio ¿goolg ¿ggg ˜ŒDEFSTRUCT HASH-FILE™˜“€>™%)˜’Œ%STRUCTURE-DECLARE-DATATYPE˜‘˜ŒSYSTEM ˜ŒSET-PARSED-STRUCTURE9˜ŒTYPE-EXPAND-STRUCTURE4˜Œ TYPE-EXPANDER/™5#˜ŒSTRUCTURE-OBJECT™5™5˜“ ˜“™5˜•ŒPOINTER˜“™5™‚“˜“™5™‚“˜“™5™‚“˜“™5™‚“˜“™5 ˜•ŒFLOATP˜“™5 ™‚™˜“™5™‚“˜“™5™‚“˜“™5™‚“˜“™5™‚“˜“™5™‚“˜“™5™‚“˜“ ™‚“™‚“™‚“™‚“™‚“™‚™™‚™™‚“™‚“™‚“™‚“™‚“™‚“˜“˜ŒPS™5˜’ŒMAKE-HASH-FILE-INTERNAL™+˜“ ˜ŒSTREAM˜’Œ DIRECTION™+˜’ŒMONITOR™+˜’ŒSIZE™+˜ŒCOUNT˜’Œ REHASH-SIZE™+˜’ŒREHASH-THRESHOLD™+˜’Œ KEY-PRINT-FN™+˜’Œ KEY-READ-FN™+˜’Œ KEY-HASH-FN™+˜’ŒKEY-COMPARE-FN™+˜’ŒVALUE-PRINT-FN™+˜’Œ VALUE-READ-FN™+˜ŒDATATYPE€€˜Œ HASH-FILE-˜“™‚¥™3™D˜’ŒCOPY-HASH-FILE-INTERNAL™+€€˜“ ˜“™‚¦€™‚¦€™‚”˜’ŒHASH-FILE-STREAM™+˜“™‚§˜ŒINPUT˜“˜ŒMEMBER™‚º˜ŒIO€™‚•˜’ŒHASH-FILE-DIRECTION™+˜“™‚¨˜“™˜Œ HASH-FILE™€™‚–˜’ŒHASH-FILE-MONITOR™+˜“™‚©€˜ŒINTEGER€™‚—˜’ŒHASH-FILE-SIZE™+˜“™‚ª˜ŒINTEGER€™‚˜™4˜“™‚«™X˜ŒFLOAT€™‚š˜’ŒHASH-FILE-REHASH-SIZE™+˜“™‚¬™Y™‚É€™‚›˜’ŒHASH-FILE-REHASH-THRESHOLD™+˜“™‚­˜“™;™{˜ŒFUNCTION€™‚œ˜’ŒHASH-FILE-KEY-PRINT-FN™+˜“™‚®˜“™;™z™‚Ï€™‚˜’ŒHASH-FILE-KEY-READ-FN™+˜“™‚¯˜“™;™t™‚Ï€™‚ž˜’ŒHASH-FILE-KEY-HASH-FN™+˜“™‚°˜“™;˜ŒEQUAL™‚Ï€™‚Ÿ˜’ŒHASH-FILE-KEY-COMPARE-FN™+˜“™‚±˜“™;™{™‚Ï€™‚ ˜’ŒHASH-FILE-VALUE-PRINT-FN™+˜“™‚²˜“™;™z™‚Ï€™‚¡˜’ŒHASH-FILE-VALUE-READ-FN™+€˜Œ4Like a hash-table but on a file instead of in memory™‚£€˜“˜ŒACCESSOR˜Œ PREDICATE€€€œ™3˜–@Ù3™˜“˜“˜ŒOBJECT™5˜–"g ¿g ¿g ™‚Š™˜“€˜ŒESTABLISH-SETFS-AND-OPTIMIZERS˜ŒESTABLISH-ACCESSORS˜ŒESTABLISH-PREDICATE™5 ™5™5œ™‚¥˜–‚vgµh¸h¹ƒa¸i¹gµ gºaºgµo »a»gµh¼h½ƒa¼i½gµj¾a¾gµW _¿ƒa_¿gµW"_¿ƒa_¿gµ g_¿ƒa_¿gµ g_¿ƒa_¿gµ g_¿ƒa_¿gµ g_¿ƒa_¿gµ g_¿ƒa_¿gµ g_¿ƒa_¿`_¿I•OH¿OJ¿OK¿M•OL¿ON¿Ol O ¿Ol O ¿OO¿OO¿OO¿OO¿OO¿OO¿O™X™Y™‚¥‚ÿÿÿÿ™˜“˜“˜Œ&KEY˜ŒSTREAM™˜ŒMONITOR˜ŒSIZE˜ŒCOUNT˜Œ REHASH-SIZE˜ŒREHASH-THRESHOLD˜Œ KEY-PRINT-FN˜Œ KEY-READ-FN˜Œ KEY-HASH-FN˜ŒKEY-COMPARE-FN˜ŒVALUE-PRINT-FN˜Œ VALUE-READ-FN‚C˜•Œ\PUTBASEFLOATP‚7™‚3™‚˜’ŒHASH-FILETYPE#™+‚ù™z‚ð™‚þ‚ã™{‚Ú™‚ý‚Í™‚Ø‚Ä™‚ü‚·™t‚®™‚û‚¡™z‚˜™‚ú‚‹™{‚‚™‚ùo™‚ø\™‚÷N™‚ö<™‚õ%™‚ô™‚º™™‚ó.™‚Àœ™‚·˜–‚›@¸@Ñ°igHgh b¿°ß`X@É¿H@É¿H@É¿H@É¿H@É¿Hl @l ¿Hl @l ¿H@É¿H@É¿H@É¿H@É¿H@É¿H@É¿H™‚·™˜“˜“˜Œ HASH-FILEi™‚d˜•Œ\GETBASEFLOATPX™‚S™‚˜•ŒCHECK-TYPE-FAIL$™‚™5 ™5™5˜–ggo ™‚Š™˜“€˜•ŒSET-DOCUMENTATION˜Œ STRUCTURE™5 ™‚㜙D˜–%Ao@ÉX Y‘I€H ™D™˜“˜“˜Œ HASH-FILE˜ŒSTREAM˜ŒDEPTH˜ŒFORMAT˜Œ NAMESTRING˜ŒPATHNAME™5˜Œ#˜–l¿o ˜ŒDEFCONSTANT BITS-PER-BYTE™˜“€˜ŒPROCLAIM™G ˜“˜’ŒCONSTANT™‚™G˜–l¿o ˜ŒDEFCONSTANT BYTES-PER-POINTER™˜“€™‚™H ˜“™‚™H˜–j¿o ˜ŒDEFCONSTANT SIZE-POSITION™˜“€ ™‚™I˜“™‚™I˜–l¿o ˜ŒDEFCONSTANT COUNT-POSITION™˜“€™‚™J ˜“™‚™J˜–l¿o ˜ŒDEFCONSTANT TABLE-POSITION™˜“€™‚™K ˜“™‚™K˜–j¿o ˜ŒDEFCONSTANT THE-NULL-POINTER™˜“€ ™‚™L˜“™‚™Lœ™,˜–‚\ekó¨lh ¿gµW¸a¸gµW¹a¹gµ gºaºgµ g»a»gµ g¼a¼gµ g½a½gµ g¾a¾gµ g_¿ƒa_¿@gggggglh _¿A _O ¿jO ¿O_¿j_¿OOýó¡°jO ¿OkÔ_¿°çgOgggOgjgHgIgJgKgLgMgNgO  ™X ™Y™, ‚ÿÿÿÿ™˜“˜“ ˜Œ FILE-NAME˜ŒSIZE™‚ò™‚÷™‚ø™‚ù™‚ú™‚ü™‚û™‚ý™‚þ‚V™‚¥‚÷™g‚Ü™e‚Ó™c‚Ê™b‚Á™˜’ŒARGUMENT-ERROR™‚!‚N™‚þ‚H™‚ý‚B™‚û‚<™‚ü‚6™‚ú‚0™‚ù‚*™‚ø‚$™‚÷‚™‚ö‚™‚õ‚™‚¼‚ ™‚™‚󂶘Œ UNSIGNED-BYTE‚±˜Œ ELEMENT-TYPE‚¬˜Œ NEW-VERSION‚§˜Œ IF-EXISTS‚¢™‚¼‚™‚™z‚†™‚þ}™{t™‚ýk™tb™‚ûY™‚ØP™‚üG™z>™‚ú5™{,™‚ù™‚ø™‚÷œ™-˜–‚Yejó§kh ¿gµ g¸a¸gµW¹a¹gµWºaºgµ g»a»gµ g¼a¼gµ g½a½gµ g¾a¾gµ g_¿ƒa_¿gµ g_¿ƒa_¿Hgð_’O†Hgð«oH ¿@gHgggglh _¿gOgHgO gO gIgJgKgLgMgNgOgO  ™X ™Y™- ‚ÿÿÿÿ™˜“˜“ ˜Œ FILE-NAME™‚ò™™‚÷™‚ø™‚ù™‚ú™‚ü™‚û™‚ý™‚þ‚S™‚¥‚™f‚™d‚ó™‚̘ŒERROR™‚6#‚K™‚þ‚D™‚ý‚>™‚û‚8™‚ü‚2™‚ú‚,™‚ù‚&™‚ø‚ ™‚÷‚™‚ö‚™‚õ‚™‚û™‚ó‚虂7‚㙂8‚Þ˜Œ OVERWRITE‚Ù™‚:‚Ó™‚¿™‚¼‚²™‚º‚¤™z‚›™‚þ‚Ž™{‚…™‚ý|™ts™‚ûj™‚Øa™‚üX™zO™‚úF™{=™‚ù.™‚ø™‚÷™‚º ™‚ƘŒ&~S illegal arg. Must be :INPUT or :IOœ™.˜–Dn¸ejó§kh ¿H@¿gµ hHý¿…aHý¿ nokoH-˜’Œ*LOCKED-MONITOR*™‚˜’Œ *RESETFORMS*™‚™.‚ÿÿÿÿ™˜“˜“˜Œ HASH-FILE™‚ò˜ŒABORT ™‚6™‚F<˜–EHÉÉhg ¿HÉÉYgHÉ ¿I j@¿ ˜’Œ*UNWIND-PROTECT*™‚˜ŒCLOSURE˜“˜“˜ŒG194?˜Œ VALUES-LIST6˜•Œ\MVLIST1™‚*˜ŒCLOSE˜•ŒOBTAIN.MONITORLOCK"™‚F™5 ™™54˜–˜ŒClean-up forms™‚J˜“€˜’ŒMONITOR-UNWIND™‚0˜•ŒCOMPILED-CLOSURE˜•Œ \PTRHUNK2œ™/˜–‚×n¸ekó”eló™ll ¿elÙjð¦la¹iºƒh¹hºAJ‘I‡@Ég@l g@l g@Ég@Ég@Ég@Ég@Ég@É Hý¿noH@ ¿HÉ ¿HÉ™/‚ÿÿÿÿ™˜“˜“˜Œ OLD-HASH-FILE˜Œ NEW-FILE-NAME˜Œ &OPTIONAL˜ŒNEW-SIZE‚Í™.‚Ä™0‚«™,W™‚E™‚™‚6‚£™5‚™‚þ‚–™5‚™‚ý‚‰™5‚ƒ™‚û|™5v™‚üo™5i™‚úb™5\™‚ùP™5J™‚ø>™58™‚÷1™5‚¹˜– @HÉA ˜Œlambda in COPY-HASH-FILE™‚J˜“˜“˜ŒKEY˜ŒVALUE™S‚µ™‚W™‚Xœ™0˜–$nX@A¿ nokoH-™‚C™‚D™0™˜“˜“˜ŒFN˜Œ HASH-FILE˜–‚¤HÉÉhg ¿HÉ ¹HÉɺ`lJkÕÖÔ»h¼`½MKó”hh°SIM ¾Nj:‘°>IN ¼HÉ_¿HÉÉ_¿IkOHÉÉ_¿IkOlO¿L¾°ÀMlÔ½°¨j@¿ ™‚I ™‚J˜“˜“˜ŒG195‚ž™‚NY™hK™h™a™‚Qz™5h™5:™K+™K#™5 ™™5˜–™‚S™‚J˜“€™‚U™‚W™‚Xœ™1˜–'nX@AB¿ nokoH-™‚C™‚D™1™˜“˜“˜ŒKEY˜Œ HASH-FILE™‚\˜ŒDEFAULT˜–‚²HÉÉhg ¿HÉ ¹hºI`lHÉÉ»HÉHÉÉlKÖÔ »Kj:HÉh$ °JIK ºHÉɼHÉHÉɽIkMlL²HÉɼIkLi$ ƒJ»°¨j@¿ ™‚I™‚J˜“˜“˜ŒG201‚¬™‚N‚ž™‚Ob™hY™‚OH™h™a™‚Q‚Ž™5y™5k™5;™5-™5#™K ™™5˜–™‚S™‚J˜“€™‚U™‚W˜•Œ \PTRHUNK4œ™S˜–'nX@AB¿ nokoH-™‚C™‚D™S™˜“˜“˜ŒKEY˜Œ HASH-FILE˜ŒVALUE˜–‚HÉÉhg ¿`lHÉɹHÉHÉÉlIÖÔ¹HÉ ºh»I¼JI ½Mj:²ZHÉ ²HÉHÉHÉ ¿°=HÉHÉHÉLj ¿HɾHÉÉkÔ_¿N_O¿OJ ¿°JJM »HÉɾHÉHÉÉ_¿JkOlN²HÉHÉHÉLK ¿†M¼K½±ÿ^HÉhj@¿ ™‚I ™‚J˜“˜“˜ŒG204 ‚™‚N‚é™`‚±™h‚§™e~™`j™SZ™]L™h@™a™‚Q ‚È™5‚º™5‚˜™5‚‹™5/™5!™5™K ™™5˜–™‚S™‚J˜“€™‚U™‚W™‚}œ™2˜–$nX@A¿ nokoH-™‚C™‚D™2™˜“˜“˜ŒKEY˜Œ HASH-FILE˜–‚ÏHÉÉhg ¿`lHÉɹHÉHÉÉlIÖÔ¹HÉ ºh»I¼JI ½Mj:”hh°lJM »HÉɾHÉHÉÉ_¿JkOlN²8KJL ¿HɾHÉÉkÕ_¿N_O¿OJ ¿ih…M¼K½°j@¿ ™‚I ™‚J˜“˜“˜ŒG207‚É™‚N‚µ™e‚Œ™g]™hL™h@™a™‚Q ‚¦™5‚™™5t™5f™5/™5!™5™K ™™5˜–™‚S™‚J˜“€™‚U™‚W™‚X˜–gg ˜ŒDEFSETF GET-HASH-FILE™˜“€ ˜ŒSET-SETF-INVERSE™S™1˜–1o ¿g X£hc¿ggo ™W˜Œ%DEFVAR *DELETE-OLD-VERSION-ON-REHASH*™˜“€+™‚ ˜ŒBOUNDP™‚!˜ŒVARIABLE™W ™W&˜ŒDif non-NIL then delete the old version of a hash file when rehashing˜“˜ŒSPECIAL™W˜–5o ¿g X§oc¿ggo ™X˜ŒDEFVAR *REHASH-SIZE*™˜“€/™‚ ™‚œ™‚%™‚ ™X ™X*˜Œ"default REHASH-SIZE for hash files„@˜“™‚Ÿ™X˜–5o ¿g X§oc¿ggo ™Y˜ŒDEFVAR *REHASH-THRESHOLD*™˜“€/™‚ ™‚œ™‚%™‚ ™Y ™Y*˜Œ'default REHASH-THRESHOLD for hash files„?`˜“™‚Ÿ™Yœ™]˜–J@ÉkÔ@É@l Öýó‘h@@É@l Ö ¿i™]™˜“˜“˜Œ HASH-FILEB™^=˜•ŒFIXR7™‚™‚0™5(™5™5 ™5™5œ™^˜–‚@É ¸@gggH A ¹@ ¿@IÉ¿@IÉ¿@IÉ¿@ ¿S–H ¿@˜•Œ\INTERRUPTABLE™W™^™˜“˜“˜Œ HASH-FILE˜ŒNEW-SIZEy˜Œ DELETE-FILEp™a2™.+™/%˜Œ MAKE-PATHNAME ™‚ ™‚ d™5^™5S™5M™5B™5<™5˜ŒDEFAULTS˜ŒNEWEST˜ŒVERSION™5œ˜’Œexpand-KEY->TABLE-POINTER™+˜–D@X¹HºggggggJhIgJhhhh™‚¼™˜“˜“˜Œ $$MACRO-FORM˜Œ$$MACRO-ENVIRONMENT-™‚Å#™‚Ö˜ŒFUNCALL™H˜Œ*™K ˜Œ+˜–&gg ¿ggo ˜ŒDEFMACRO KEY->TABLE-POINTER™˜“€ ™% ˜•ŒSETF-MACRO-FUNCTION˜•ŒARGNAMES™_™‚¼™_˜“˜ŒKEY˜Œ HASH-FILEœ™`˜–C@ÉX YHC ¿DHI ¿@ɺAHlJ¿@ɺBHlJ¿B™`™˜“˜“˜Œ HASH-FILE˜ŒKEY˜ŒVALUE˜Œ LAST-POINTER˜Œ LINK-POINTER™g™g ˜Œ FILE-LENGTH2™5"™5™5œ™a˜–?@ÉX ‘H@¹Hg@Égg ºIJ¿J™a™˜“˜“˜Œ HASH-FILE2™ ˜’Œ OPEN-STREAM-P™ ,™‚@'™‚: ™5™™5™5œ™b˜–9h¸@kä¹lºJIýó™jIJ ÿ€h[‘K†IJJÖýóX‘H†JlÔº°Ý‘IIlÔ¹°Ð™b™˜“˜“˜ŒN˜ŒREMœ™c˜–@A` ™c™˜“˜“˜ŒSIZE˜ŒSTREAM™g™Iœ™d˜– @` ™d™˜“˜“˜ŒSTREAM™h™Iœ™e˜–@A` ™e™˜“˜“˜ŒCOUNT˜ŒSTREAM™g™Jœ™f˜– @` ™f™˜“˜“˜ŒSTREAM™h™Jœ™g˜–K@ l ó›o@ ¿B—AB ¿j¸Hlýó¡° lHlÖ @ A ¿HkÔ¸°Ü@™g™˜“˜“˜ŒPOINTER˜ŒSTREAM™‚\˜ŒPOSITION=˜Œ WRITE-BYTE7˜ŒLDB1˜ŒBYTE˜Œ FILE-POSITION™‚?˜ŒINTEGER-LENGTH ˜Œ~S : pointer too largeœ™h˜–@A—@A ¿j¸h¹jºJlýó¡°'@ ¹jIÿ³IlJlÖ H ¸JkÔº°ÕH™h™˜“˜“˜ŒSTREAM™‚\˜ŒPOSITION2˜ŒDPB,™‚ù˜Œ READ-BYTE™‚úœ˜’Œexpand-NULL-POINTER?™+˜–@X¹gIo™‚™˜“˜“˜Œ $$MACRO-FORM˜Œ$$MACRO-ENVIRONMENT˜ŒEQL ˜“™L˜–&gg ¿ggo ˜ŒDEFMACRO NULL-POINTER?™˜“€ ™% ™‚Ç™‚È™i™‚™i˜“˜ŒPOINTERœ™n˜–!nX@¿ nokoH-™‚C™‚D™n™˜“˜“˜Œ HASH-FILE˜–‚»HÉÉhg ¿HÉ ¹HÉɺ`lJkÕÖÔ»h¼h½`¾NKó‘°UIN _¿j_¿Oj:²$OM_’O‡OjM]_kÔ_¿OO¿°IO ¼OkÔ_¿L_¿°ÄNlÔ¾°©Mno j@¿ ™‚I ™‚J˜“˜“˜ŒG220‚µ™‚N‚¬™‚O‚§˜ŒSORT‚™hJ™h™a™‚Q<™K+™K#™5 ™™5‚ ˜–@Aýó˜Œlambda in *UNWIND-PROTECT*™‚J˜“˜“˜ŒPAIR-1˜ŒPAIR-2‚œ™‚W˜–™‚S™‚J˜“€™‚U ™‚W™‚Xœ™o˜–RnX¿o ¿@ Hý¿AHÉg Hý¿iHý¿noHkoH-™o™˜“˜“˜Œ IL-HASH-FILE˜Œ CL-HASH-FILE+™,&˜•Œ HASHFILEPROP˜•Œ OPENHASHFILE ˜•Œ FILESLOAD!˜•ŒSIZEJ˜–+HÉnoH ¿hdHý¿hj@¿ ™‚I™‚J˜“˜“˜ŒG226%™‚N˜•Œ MAPHASHFILE˜– @HÉA ˜Œlambda in *UNWIND-PROTECT*™‚J˜“˜“˜ŒKEY˜ŒVALUE™S™‚W?˜–HÉ ¿HÉgHÉ ™‚S™‚J˜“€™.˜•Œ CLOSEHASHFILE ™‚F˜“˜“˜•ŒSYSLOAD˜•ŒFROM˜•Œ LISPUSERS˜’ŒHASH™+;™‚W™‚}˜–ggo ˜Œ DEFUN CONVERT™˜“€™‚ ™‚Ï™o ˜Œ3convert a HASH hash file into a HASH-FILE hash fileœ™t˜– @Aj kÕ™t™˜“˜“˜ŒOBJECT˜ŒRANGE™uœ™u˜–‚