LISPUSERS PACKAGES SUMMARY This file is a summary of all files on , and is a good document to read if you are unfamiliar with the many LISPUSERS packages available to you. The paragraphs below summarize each LISPUSERS package or auxiliary file in 6 lines or less. The original source for this file is {ERIS}release>LISPUSERS.TTY. Contributors to LISPUSERS are encouraged to edit this file whenever they contribute or modify a package. Rules: (1) Only edit entries you own--i.e. you are the AUTHOR of the corresponding source code. (2) Stay within your 6 line limit. (3) File alphabetically (4) every package needs documentation even when it has a description in this file. LISPUSERS PACKAGES SUMMARY ACE (Animation Compiler Environment) is a tool for doing computer-assisted animation. Provides a graphics editor (also useful for single images) to create frames which are played back in real-time like a movie. Versatile and easy to learn and use; several demo animations included on Lispusers. LOAD (ACE), then call (ACE). ACTIVEREGIONS Package for specifying that certain regions of a window be sensitive to button activity of the mouse. Regions are highlighted when mouse button is down and associated function for an active region is invoked when mouse button is released. ANIMATE. This small package contains functions for moving a non-rectangular bitmap smoothly around the screen, ways of using these to get big cursors, and bitmaps for a large arrow and a hand to be used as large cursors. ARCHIVETOOL An Interlisp-D interafce to the PARC Cedar Archive system. Based on the FileBrowser and Lafite. It automatically composes and sends archive messages to the Archivist. It also parses the returned messages and deletes the archived files. Retrieve requests are not yet supported. AREDIT Tool for submitting, viewing, & editing Lisp ARs (action requests/Interlisp bug reports) from within Interlisp. Type (AR.FORM) to create a form for Getting, Putting, & Submitting ARs. ARITHMAC Arithmetic macros for use with Interlisp-10 and the DECL package for a variety of arithmetic functions (ADD1, QUOTIENT, RAND, etc.). Not useful (except for backward compatibility) for Interlisp-D. AUXMENU This package creates a middle button background menu containing a number of convenient functions. These functions include a menu-driven CNDIR, LOGOUT, and other functions that require little user-interaction. The purpose of the package is to minimize typeing. BACKGROUND BITBLT to the screen background or to windows without TOTOPW-ing them. Much faster than CHANGEBACKGROUND. Supports all BITBLT options including MERGE but not 16x16 textures. BACKGROUNDDEMO Demonstration and programming example for the BACKGROUND package. BIZGRAFIX Pie & bar chart, line graph creation. BLTDEMO Implements Smalltalk graphics demo in Interlisp. Spinning star, bouncing ring & box. Call: (BOUNCE x y) where x and y are velocities defaulting to 3. Box shows whatever is near cursor. Interesting recursive effects can be seen if you move the cursor near the box. Idle hack. BOUNCE Is another Idle hack. Blacks out the screen & draws patterns on it until you hit a mouse button or type any character. Can be started 3 ways. BOUNDARY A package for handling boundaries - which are similar to regions but much more efficient in certain applications. An optional freelist can reduce garbage collection. BOYERMOORE The Boyer and Moore Theorem Prover. BQUOTE Backquote punctuation. Enables backquote (character 96) and commas to be used to construct lists similar to CLISP's <, !, !!, and > operators only better. Readmacros and prettyprintmacros make backquote easy to use. Also offers PQUOTE's functionality. CALENDAR A calendar/appointment-reminder program. Displays any year, month or day. Messages alert you at predetermined time, or can optionally be mailed (via Lafite) to any desired recipients. CALL: (CALENDAR). CHUNK-MENU Permits the creation and use of pop-up menus for long lists of items. User sees one "chunk" of the list at a time. Menu items at top and bottom allow user to move forward and backward to other chunks. COMHACK Advises CLISPIF and CLISPFOR to allow comments anywhere in ifs and for loops. Can be used to provide similar facility for other CLISP words. CROCK Function for creating and manipulating a face clock. Menu allows user to change style of clock. Call: (CROCK REGION). DEDITK Adds single button method for combining the most frequently combined pairs of BI/BO and BEFORE/AFTER/DELETE/REPLACE in DEDIT - Load and call (DEDITK). DPRESS Disassemble PRESS. Functions to disassemble PRESS files. Used by PRESSTOIP. DRAWFILE Two functions for converting DRAW-format files (produced by Alto DRAW program) to and from lisp figure data-structures. Supports spline curves, text, and color. EDITFONT Gives the user functions for creating and editting DISPLAY fonts which can be read and written as STRIKE font files. Includes: EDITFONT, BLANKFONTCREATE, READSTRIKEFONTFILE, and WRITESTRIKEFONTFILE. EDITHIST An extension to Interlisp's file package that permanently preserves the history of new versions of files. Every time a file is remade, a new entry containing DATE, AUTHOR, FILE, CHANGES, & COMMENTS info is added. EMACS A subset of EMACS (text editor developed at MIT) built on top of TEDIT. Call: (EMACS FILE). EMACSUSER Package defines a variety of functions amenable to creating a programming environment where the user does his coding in EMACS (the MACLISP/EMACS style of coding versus the Interlisp file package style of coding). EXEC This small package allows the user to create extra EXEC windows in which to do EVALQTing. A new EXEC window may be created in either of two ways. The user may either do (EXEC) or button the EXEC menu item added to the background menu. EXECFNS Package emulates TOPS-20-style "logical names". Instead of typeing {RED} you can use the DEF lispxmacro to define FOO: as {RED}. Lispxmacros TY, CONN & KD and fns INFILE, OUTFILE, INFILEP, OUTFILEP, & COPYFILE are modified/advised to expand logical names. The lispxmacro DEF? can be used to see what logical defs are currently defined. FACEINVADER A game. The object of the game is to shoot the bouncing 'face' before it overruns your base. Call: (FI INSTRUCTIONS?). FASTLOAD Function to load a file without file package overhead or changes to history list. Otherwise like (LOAD FILE T)--old definitons are simply overwritten. Call: (FASTLOAD FILE). FBSORT Adds a SORT menu option to FileBrowsers. FONTN Contains font definitions for fonts FONT1, FONT2, etc., which are utilized by the printout for commands of the form .FONT 1, .FONT 2, etc. FRACTAL An eyewash DMT program that draws fractals. GLISP Compiler for GLISP, object oriented form of lisp. GRAPHCALLS Allows fast graphing of the calling hiarchy of both interpreted and compiled code, whether or not the source code is available, thus allowing examination of both user and system functions. HEADLINE Three functions for manipulating windows containing headlines: HEADLINE, BILLBOARD, and CLOSEHEADLINES. Useful for titling a screen image or leaving message on screen while away. HISTMENU Provides simple way to access Interlisp history list using menu. REDO, UNDO, FIX, and ?? selected items. Call: (HistoryMenu histMenuLength histMenuPosition). IMAGEDEMO Color graphics demo. Call: (IMAGEDEMO). IMAGEWRITER Contains a package that supports printing of text files, windows and bitmaps to an Apple Imagewriter printer. The software will work on either the RS232C or TTY port. IMTEDIT Is a program built on IMTRAN that translates IM format files to formatted Tedit text streams. IMTRAN Is the original program LISPSUPPORT uses for translating from IM format to TEX source files (not too useful for most people). See IMTEDIT. JARGON ... N random broken definitions from the imfamous hacker's dictionary, snarfed from MIT-AI. (The globalvar JARGON.FILE.LOCATION points to the database file.) Starts up on load, or type (JARGON.READ) KAL Kaleidoscope in b/w or color. Call: (KAL). Control options with middle button menu. LANDPRESS Allows landscape printing of ASCII text files on press printers (e.g., Dovers). Function LANDPRESS produces same product as MAKEPRESS, only printed sideways on the page allowing for wider output. LCROCK Puts a digital/analog clock in the unused area of the LOGOW. (START.LCROCK ) starts it up. , if non-NIL, will replace the "Interlisp-D" logo; and , if non-NIL, will be the lower-left corner (NIL means to use the position of the existing logo window). The glovalvar CROCKUPDATERATE.MS is the number of milliseconds between automatic updates. LOADFILES Function to help in loading groups of files. Call: (LOADFILES DIR FILES EXT LDFLG PRINTFLG). Value of LOADFILES is a list of the files actually loaded. LSET List SETs. Functions for operating on sets implemented as lists. Contains functions for union, intersection, and subtraction. Functions to unify an element with a list, setify a list, and test if a list is a subset of another list are also included. LUPINE implementation of Cedar Remote Procedure Call generator. MACWINDOW Advises SHRINKW and EXPANDW to produce a zooming effect by showing the outline of their window arguments as they shrink or grow. MAILOMAT Allows a single user to receive and hardcopy the new mail of others provided the user has their passwords. MAILOPS Functions for poking into and "scavenging" Laurel/Lafite/... mail files. See MAILOPS.tty. MAKEGRAPH Package built on GRAPHER which helps user create graphs by walking through them. Each point in the walk (node in the graph) is characterized by a datum/state pair. Motion is defined by a state transition function and checking whether a node has already been visited. Do (MAKE.GRAPH.EXAMPLE) for an example. MANAGER A menu and mouse driven interface to the file package. MATHFNS Higher mathematical functions not already provided by Interlisp. Includes additional trigonometric functions, logarithmic functions, hyperbolic functions, mathematical constants, and macros and functions for complex arithmetic. MSGLAFITE Converts a MSG mail file (e.g., on MAXC or SU-BBOARDS) to a Lafite readable mail file. Call: (ConvertMsgToLafite MsgFile LafiteFile) MSPATCH Changes MasterScope to automatically perform PPE checking wherever possible (obviating the need for many templates) and to distinguish the SET relation from REFERENCE (which includes SMASH and TEST). MOUSECONFIRM Contains function and cursor definition to be used for confirming potentially dangerous or computationally expensive menu selections. Replaces cursor with little mouse image and waits for confirming click. Call: (MOUSECONFIRM PROMPTSTRING). MULTIFILEINDEX Like SINGLEFILEINDEX, but also indexes records, parameters, etc. Works across several files and is userful for indexing a whole "system" of files. MULTIMENU Package which allows user to create a number of menus or windows to be associated with a main window. Example application: an editor whose commands (menu driven) are a function of the item selected in the editor window. Contextually inappropriate menus disappear and appropriate menus are highlighted. MULTIW Contains functions necessary for a hiarchical window environment. Windows that belong to other windows will move, close, shrink, and open when their super window does. MULTIW-DEMO Demos MULTIW package. NOTEPAD Allows user to do artwork at bitmap level in NOTEPAD windows. Trajectories: sketch, line, circle, ellipse, open curve, closed curve. Objects/editting: text, are of screen, shade rectangle, fill, edit area. Style: brush, use mask, mask, use grid, grid, use symmetry, point of symmetry, text font, shade. NOTEPAD-CORESTYLES Used by NOTEPAD. NOWAITPRINT a function which will temporarily diddle a window's pagehold characteristics so that a print-without-holding may be performed. NQUEENS Solves N Queens problem. How to place N queens on a chess board so that they don't attack each other. Graphics demo. Call: (NQUEENS N). ODOMETER Functions for creating and manipulating a horizontal sequence of small windows containing digits resembling a car's odometer (mileage gauge). Digits scroll into place as if digit wheel is turning. Call: (ODOCREATE #DIGITS FONT PLACE) where #DIGITS is the number of digit wheels desired. Fns: ODOCLOSE, ODOCREATE, ODODEC, ODOINC, ODOOPEN, ODOPUT, ODOSET, & ODOVAL. PACMAN Game. Runs in b/w or color. CALL: (PACMAN). PAGEFULLCTRL Useful for controlling the scrolling behaviour of the TTYDISPLAYSTREAM window. PAGEFULLFN is advised to continue scrolling (rather than inverting the window and waiting for a space to be typed) unless the CTRL key is held down. PAGEHOLD Redefines the default PAGEFULLFN, and provides hooks for making individual non-TTYDISPLAYSTREAM windows scrollable. Scrolling is "held" for up to PAGE.WAIT.SECS seconds, during which time an attached "button" on the window softly flashes, and then the hold is "released". Holding down either SHIFT key will continue the "hold" (i.e., prevent "release"); letting up on either SHIFT key will "release" the "hold". PATCHUP Facilitates making patch files when there is multiuser interaction on a system. Designed to allow dumping of a patch file containing changes from a number of files. PEANO Peano curves graphics demo. CALL: (PEANODEMO LEVEL SCALE). PERFORMTRAN Adds CLISP word perform to record package. Rumored to be described in Interlisp Reference Manual (GKW). PERMSTATUS Function used in conjunction with WHENCLOSE package to make a file "permanently" open in the sense that as much of its status as possible will be restored when a sysout is resumed. Described in Interlisp Reference Manual. PIPES A mechanism consisting of a ring-buffer connecting a pair of streams - similar to UNIX pipes. Some pipe-related functions, such as a TEE filter and a special form to create a pipeline - a number of processes whose primary input/output streams are connected together. A function which opens a stream and posts the RESETSAVES to tidy up. PLAY Offers Interlisp-D users a disciplined way to play simple musical melodies on Xerox 1108 machines. (PLAY.DEMO) demos the PLAY package. Main functions: PLAY.NOTES, PLAY.MELODY, PLAY.KEYBOARD. PLOT Functions to help in the construction of interactive analytic plots. PRESSTOIP PRESS TO InterPress. Converts PRESS files to INTERPRESS files. Call: (PRESS.TO.IP PRESSFILE IPFILE). PRINTERMENU Creates a menu whose items are members of DEFAULTPRINTINGHOST. Selecting an item causes it to be placed at the front of DEFAULTPRINTINGHOST, thus making it the default printer. Selecting the title bar allows for adding and deleting printers from DEFAULTPRINTINGHOST. Full description in PRINTERMENU.TEDIT. PRINTL Function which prints circular list structures. Described in Interlisp Reference Manual. PROFILETOOL Creates a specialized InspectorWindow for enumerating and changing variables, etc. Useful for creating a graphical interface to attributes of any "package" written in Interlisp. PROMPTREMINDERS User can be periodically reminded of important things by messages which are aggressively winked and flashed in the PROMPTWINDOW. PROOFREADER A simple program to find spelling errors in a TEdit document. Allows the user to keep a list of user-specific words. PSETF Implementation of the Common Lisp macro of the same name. Performs several Interlisp-D "change"'s in parallel. READACFONTFILE Make FONTDESCRIPTORS from *.ac font files (eg. Star font files) READBRUSH reads in the ".brush" files that the Mesa hackers have put together on their own Hacks directory -- just some random graphics. Load in this package and READBRUSH(BIGFISH). It actually goes off to [igor]11.BrushDMT>Brushes> to get the files. REDUCE Old partial implementation of the REDUCE algebraic manipulation system, including differentiation etc. REMEVALCLIENT "Client" side of an EVALSERVER implemented using RPC. REMEVALSERVER "Server" side of an EVALSERVER implemented using RPC. REMIND Facility for scheduling LISP events to take place at a specified later time. Reminders are stored on REMINDERS.LISP on user's directory and an entry on AFTERSYSOUTFORMS causes them to be loaded via LOADREMINDERS which may also be put in user's init file. RPC Remote Procedure Calls. Implements Cedar RPC transport mechanism allowing Interlisp-D to export services to or import services from remote machines. SAMPLER Graphics demo ("from Upstate New York"). Call (SAMPLER). SERVERSTATUS Given a list of file and print servers, serverstatus periodically checks to see if they are up. It allows programs to ask for the last known status. Also, it allows programs to be executed whenever the status of a server changes (this is useful for modifying the variable DEFAULTPRINTINGHOST whenever a printer goes down). SETF SET Field. MACLISP SETF-style record accessing. E.g., (r.f d) => (fetch (r f) of d) & (setf (r.f d) v) => (replace (r f) of d with v). Less verbose than CLISP fetch & replace, but without the drawbacks of packing record accesses into atoms as with CLISP infixes ":" and ".". SHOW Adds a LISPXMACRO SHOW that will prettyprint value of preceding history events with syntax similar to ?? and REDO. Also defines functions SHOW and IT. SIGNAL CEDAR/MESA-like signal mechanism. Allows signals to be raised, caught, examined, resumed, or exited. SIMPLEFNS Some simple functions. Fns: COMBINATIONS, DKILL, DKILLQ, FILE, FIRSTPART, IFF, KILL, LEAVES, SEARCH, SINGLES, STRINGSUBST, SUPSETP, UNATTACH. SIMPLIFY Tools for symbolic simplification of Lisp forms. SKIPTRAILER A trivial package that modifies the FILERDTBL so that Bravo trailers (i.e. sequences between ^z and carrieage-return) will be ignored. SOLITAIRE The card game Solitaire (graphics demo). Call: (SOLO). SPACEWINDOW Puts a small "Space Allocation" window on screen. Shows a bar-chart of the amounts of the four types of memory space that have been allocated (fixed data, variable data, atoms, pnames). Display is updated every 60 seconds. STOCKICONS Use with ICONW. A collection of stock icon windows suitable for use with ICONW. STYLESHEET Package which allows user to create a block of menus which pop up all at once and don't go away until the user has dealt with all the menus in the block and indicated that he is done. SYSTAT Redefines the CONTROL-T interrupt channel to put up a graphic display instead of the usual type out. Leftbuttoning SYSTAT.WINDOW does an immediate Update. Middlebuttoning SYSTAT.WINDOW gives user choice among Quickly mode, Slowly mode, Updating, Deactivating, and Reactivating. TESTPAT Test pattern(?). Doesn't work. TMENU Provides: (1) Interactive menus intended for reducing typing. Selected menu items are inserted into the TTY inpu buffer. (2) Windowshades that make windows "roll up" when not in use. (3) Two functions for managing PROMPTWINDOW. TRACEIN Facility for very low level tracing/stepping. Options: step, evaluate, finish, trace, prettyprint form, prettyprint value, retry, exit with value to be returned, break. Evalhook and watch modes of operation. TRAJECTORY-FOLLOWER Provides a function which causes a snake to crawl along a trajectory. Trajectory is specified by a set of KNOTS and a CLOSED flag. TSET Transor package. LISP-toISP translator intended to help the user who has a program coded in one dialect of LISP and wishes to carry it over to another. Described in Interlisp Reference Manual. TTY Simple set of functions, including prompted read, for interacting with the TTY. Easy to create programs that respond to "commands" or sequenced entry with a varied amount of prompting for input. TTYIO Selective input fns: ASKFLE, ASKFN, ASKINT, ASKITEM, ASKITEMS, ASKRL, ASKYN. TURING A Turing Machine game. You specify a set of states and transitions, and a starting tape configuration and TM graphically executes them, reading and writing the tape as it goes. Demos included. Call: (TM) TWOD A two-d graphics package. Rather Siggraph-esque. TWODGRAPHICS implements viewports and world to window transformations. TXDT Collection of Interlisp functions designed for those who wish to build text editors in Interlisp. Inserting, deleting, searching and manipulating text in buffers. Undoable modifications. Provisions for fonts. YAPFF is Yet Another Page Full Function. I actually don't like this one much better than any of the others around, but its another point in the space of possible actions on end-of-page. WINDOWACCESS Contains ACCESSFNS for all the standard window properties, allowing user to write code using fetch and replace instead of WINDOWPROP function calls. GACHA GACHA ?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) g·b:@Qýzº