Artifact 6b365538f9b5823829751a143203d81254157180fc5019ae8bf152a35aadaefa:
- File
psl-1983/help/package.hlp
— 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: 1800) [annotate] [blame] [check-ins using] [more...]
The Utah Package System (UPS) ---------------------------- A preliminary multi-name space capability is available for testing. This is a loadable option (Load Package). Syntactically, an id now becomes a multipart name, "PACKAGE\localId" which directs the INTERN part of token scanning to start searching a PATH in a linked Oblist structure from PACKAGE, itself an id accessible in the "CurrentPackage". The Print name is still "localId", but an additional field in each id, the Package Cell, records PACKAGE. A modified Prin1 and Prin2 access this field. The Root of the tree is GLOBAL, indicated by \. Thus \ID is guaranteed in the root (in fact the existing Oblist). PAKAGE.RED defines the following Fluids: \CurrentPackage!* %. Start of Search Path \PackageNames!* %. List of ALL package names \CurrentPackage!* is rebound in the Token Scanner on encountering a "\". The following functions should be used: \CreatePackage(Name,FatherPackage) which creates a convenient size hashtable \PackageP(name) \SetPackage(name) \PathInternP({id, string}) Searchs from CurrentPackage!* \PathIntern({id, string}) Lookup or insert \PathRemob({id, string}) Remobs, puts in NIL package \PathMapObl(function) Applies to ALL ids in path \LocalInternP({id, string}) Searchs in CurrentPackage!* \LocalIntern({id, string}) Lookup or insert in CurrentPackage!* \LocalRemob({id, string}) Remobs, puts in NIL package \LocalMapObl(function) Applies to ALL ids in CurrentPackage!* Note that if a string is used, it CANNOT include the \. Also, since most id's are "RAISED" on input, be careful. Current INTERN etc are \PathIntern, etc.