GitXplorerGitXplorer
p

sysrama

public
1 stars
0 forks
0 issues

Commits

List of commits on branch main.
Verified
796318ef7b2966675e9017760d73daca38591de7

Initial commit

ppamoroso committed 2 years ago
Verified
a109327bc083760fa8461e7abb954ed747035602

Initial commit

ppamoroso committed 2 years ago
Verified
8d43723d72efa9bcd76136a0a17bc969d9ac5c1c

Initial commit

ppamoroso committed 2 years ago
Verified
cc7cce3459a2560c55d75d88872d6f3396282b79

Initial commit

ppamoroso committed 2 years ago

README

The README file for this repository.

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.