Skip to content

pamoroso/sysrama

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sysrama

Sysrama is an Interlisp documentation tool for presenting information on the Lisp objects of a program. It produces reports listing the types and signatures of functions, the fields of records, global variables, property lists, Exec commands, and more. The tool can also represent and visualize programs as NoteCards hypertexts.

Sysrama lets you see the big picture of a system, a panorama. Hence the name.

Sample output of the Sysrama Interlisp documentation tool.

Installation

Download the file SYSRAMA from the project repo, copy it to a file system location your Medley Interlisp installation has access to, and optionally compile the source by evaluating the following expression at the Lisp Executive:

(TCOMPL 'SYSRAMA)

Provide these answers to the questions the compiler asks:

  • listing? no
  • redefine? yes
  • save exprs? no

Finally, load Sysrama by evaluating:

(FILESLOAD SYSRAMA)

The hypertext features require NoteCards, so make sure it is loaded too.

Usage

Suppose you want to analyze the Lisp program MYPROG, which must be under File Manager control. First load MYPROG:

(LOAD 'MYPROG)

To have Sysrama print a report with information on MYPROG evaluate:

(SUMMARIZE 'MYPROG)

You can narrow down the information to specific File Manager types such as FNS and RECORDS:

(SUMMARIZE 'MYPROG '(FNS RECORDS))

or to specific objects such as the function MYFUN:

(SUMMARIZE 'MYPROG 'FNS 'MYFUN)

Reference

The entry point to Sysrama is this function:

(CODECARDS FILE) [function]: creates a NoteCards notefile that represents as a hypertext the Lisp program in the symbolic FILE. The function makes one filebox per File Manager type, containing one card per Lisp object of the type. The fileboxes are filed under the Table of Contents. CODECARDS returns the filebox.

(SUMMARIZE FILE TYPE NAME) [function]: prints a report describing the Lisp objects in symbolic FILE. The report goes to the primary output and contains information only for the File Manager type designated by the TYPE argument if a symbol, a list of types if the argument is as such, or all registered types if NIL. Prints the information only for the symbol or list of symbols NAME if not NIL.

Release history

See the list of releases for notes on the changes in each version.

Learn more

Author

Sysrama is developed by Paolo Amoroso.

License

This code is distributed under the MIT license, see the LICENSE file.