(FILECREATED "24-Oct-85 11:07:37" {MCS:MCS:STANFORD}<LANE>HASHDATUM.LSP;5        

      changes to:  (VARS HASHDATUMCOMS)
		   (MACROS GETHASHBINARYBITMAP PUTHASHBINARYBITMAP)
		   (FNS \WRITEBM PRINTBINARYBITMAP INPUTBINARYBITMAP)

      previous date: "28-Jun-85 15:50:30" {MCS:MCS:STANFORD}<LANE>HASHDATUM.LSP;2)


(PRETTYCOMPRINT HASHDATUMCOMS)

(RPAQQ HASHDATUMCOMS ((FNS GETHASHDATUM PUTHASHDATUM)
		      (MACROS GETHASHBITMAP PUTHASHBITMAP GETHASHBINARYBITMAP PUTHASHBINARYBITMAP 
			      GETHASHGRAPH PUTHASHGRAPH GETHASHUGLY PUTHASHUGLY)
		      (FNS \WRITEBM)))
(DEFINEQ

(GETHASHDATUM
  [LAMBDA (KEY HASHFILE READFN)                              (* cdl "28-Jun-85 10:07")
    (PROG ((HASHTEXTPTR (GETHASHFILE KEY HASHFILE)))
          (if (type? HashTextPtr HASHTEXTPTR)
	      then (with HashFile HASHFILE (with HashTextPtr HASHTEXTPTR (SETFILEPTR Stream Start))
			 (RETURN (APPLY* READFN Stream])

(PUTHASHDATUM
  [LAMBDA (KEY DATA HASHFILE PRINTFN)                        (* cdl "28-Jun-85 10:17")
    (with HashFile (SETQ HASHFILE (GTHASHFILE HASHFILE T))
	  (SETFILEPTR Stream -1)
	  (PROG [(HASHTEXTPTR (create HashTextPtr
				      Start ←(GETEOFPTR Stream]
	        (with HashTextPtr HASHTEXTPTR (APPLY* PRINTFN DATA Stream)
		      (SETQ End (GETEOFPTR Stream)))
	        (RETURN (PUTHASHFILE KEY HASHTEXTPTR HASHFILE])
)
(DECLARE: EVAL@COMPILE 

(PUTPROPS GETHASHBITMAP MACRO ((KEY HASHFILE)
			       (GETHASHDATUM KEY HASHFILE (FUNCTION READBITMAP))))

(PUTPROPS PUTHASHBITMAP MACRO ((KEY BITMAP HASHFILE)
			       (PUTHASHDATUM KEY BITMAP HASHFILE (FUNCTION PRINTBITMAP))))

(PUTPROPS GETHASHBINARYBITMAP MACRO ((KEY HASHFILE)
				     (GETHASHDATUM KEY HASHFILE (FUNCTION READBM))))

(PUTPROPS PUTHASHBINARYBITMAP MACRO ((KEY BITMAP HASHFILE)
				     (PUTHASHDATUM KEY BITMAP HASHFILE (FUNCTION \WRITEBM))))

(PUTPROPS GETHASHGRAPH MACRO ((KEY HASHFILE)
			      (GETHASHDATUM KEY HASHFILE (FUNCTION READGRAPH))))

(PUTPROPS PUTHASHGRAPH MACRO ((KEY GRAPH HASHFILE)
			      (PUTHASHDATUM KEY GRAPH HASHFILE (FUNCTION DUMPGRAPH))))

(PUTPROPS GETHASHUGLY MACRO ((KEY HASHFILE)
			     (GETHASHDATUM KEY HASHFILE (FUNCTION HREAD))))

(PUTPROPS PUTHASHUGLY MACRO ((KEY UGLYVAR HASHFILE)
			     (PUTHASHDATUM KEY UGLYVAR HASHFILE (FUNCTION HPRINT))))
)
(DEFINEQ

(\WRITEBM
  [LAMBDA (BITMAP STREAM)                                    (* cdl "24-Oct-85 10:51")
    (WRITEBM STREAM BITMAP])
)
STOP