Artifact 5ddeb8946e560fd62eb4bcd3dc9496eba561fc545688d486b596385caec9918f:
- File
psl-1983/3-1/tests/mini-property-list.red
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 782) [annotate] [blame] [check-ins using] [more...]
% MINI-PROPERTY-LIST.RED - Small GET and PUT on syslisp; Procedure Prop x; If not IDP x then NIL else SYMPRP IDINF x; Procedure Get(x,y); Begin scalar z,L; If Not IDP x then return NIL; L:=SYMPRP IDINF x; If (Z:=Atsoc(y,L)) then return CDR Z; Return NIL; End; Procedure Put(x,y,z); Begin scalar P,L; If Not IDP x then return NIL; L:=SYMPRP IDINF x; If (P:=Atsoc(y,L)) then return % <<CDR(PairInf P):=z; z>>; L:=CONS(CONS(y,z),L); SYMPRP(IDINF x):=L; Return z; End; Procedure RemProp(x,y); Begin scalar P,L; If Not IDP x then return NIL; L:=SYMPRP IDINF x; If not(P:=Atsoc(y,L)) then return NIL; L:=Delatq(y,L); SYMPRP(IDINF x):=L; Return CDR P; End; Procedure GetFnType x; Get(x,'TYPE); off syslisp; end;