CEDAR CATALOG CEDAR 5.0 Cedar Catalog Version 5.0 Release as [Indigo]Documentation>Catalog.tioga, .press Came from [Indigo]Documentation>Catalog.tioga, .press Last edited By Russ Atkinson on December 21, 1983 7:53 pm Abstract This catalogue is a list of "interesting" Cedar packages and tools. Each component is described by a maintainer-supplied entry. In general, all the source, bcds and other files relevant to a package named X can be gotten through the file [Indigo]Top>X.df. [If you are reading this document on-line, we suggest that you use the Tioga Levels and Lines menus to initially browse the top levels.] XEROX Xerox Corporation Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, California 94304 DRAFT  For Internal Xerox Use Only  DRAFT Cedar System Structure The Cedar system has two levels: Nucleus, which is the level of Cedar required for loading and running programs, and Life Support, which is the level of Cedar necessary for program development. The Life Support level contains the Nucleus level, but has few "creature comforts." The region outside of Life Support (but inside Cedar) contains many user-accessible tools and interesting packages. Nucleus The Nucleus may be thought of as the kernel of the operating system for Cedar. It provides low-level access to devices such as the display (Terminal), disk (Disk), and Ethernet (Communication, Pup). The Nucleus also provides virtual memory support (VM), a file system (File, FS), and basic stream facilities (IO, STP). The Nucleus also provides the basic support necessary for loading and running programs (BasicLoadState, Loader, LoadState, MesaRuntime). The components in the Nucleus (and in the BasicCedar*.boot files) are: BasicLoadState, BasicTime, BcdStuff, BTree, CedarRuntime, Communication, Disk, File, FileStream, FormatDisk, FS, GrapevineUser, HeadsCommon, HeadsD0, HeadsDorado, Iago, IO, Loader, LoadState, MesaRuntime, ProcessProps, Pup, Real, Rollback, Rope, SafeStorage, SimpleTerminal, STP, Tentacles, Terminal, UserCredentials, VM Life Support The Life Support level of Cedar includes the Nucleus level, and adds more sophisticated packages and tools. It provides user interaction facilities such as a screen manager (TIP, Viewers), a text editor (Tioga), and command and expression interpreters (CommandTool, InterpreterTool). Program creation and management tools are also included (Binder, Compiler, DFTool). The components in the Cedar*.boot files, but not in Nucleus, are: AMEvents, AMModel, AMProcess, AMTypes, BasicPackages, ColorPackage, CommandTool, DFPackage, Graphics, Inscript, Installer, Interpreter, InterpreterTool, PrintTV, ReadEvalPrint, RPCRuntime, Tioga, TIP, UserProfile, VersionMap, Viewers, WorldVM Other components of the Life Support level are: Binder, BootTool, Chat, Clock, Compiler, DebugTool, DFTool, Spy, Watch Introduction In general, all the source, bcds and other files relevant to a package named X can be gotten through the file [Indigo]Top>X.df. If that is not the case, the df file is mentioned in the Documentation column. The BringOver command of the DF Tool with Access: public should obtain what you need to run the program (it may bring over more files than strictly necessary). A common convention is that the "principal" interface of a component has the same name as the component and its DF file. The documentation directory is [Indigo]Documentation> unless otherwise specified. Complaints are the precursors of improvement. Please send suggestions for improving the form or content of this Catalog to the current Cedar Release Master, or to Jim Horning if you don't know who that is. Send comments about any particular entry to its maintainer, with copies to Jim Horning and Mary-Claire van Leunen . Alphabetical Summary In this summary, each component is named and characterized according to what kind of component it is and where it resides. The kind field can have any combination of the following values: P for a package, which is intended for use by programs T for a tool, which is intended for use by people U for an umbrella, which is a grouping of components The access field can have any of the following values: Basic for a component in a BasicCedar* boot file Cedar for a component in a Cedar* boot file, but not in BasicCedar* Tool for a tool listed in Tools.df other for all other release components DF name kind access AbstractMachine U Cedar AlpineUser P other AMEvents P Cedar AMModel P Cedar AMProcess P Cedar AMTypes P Cedar BasicCedar U Basic BasicLoadState P Basic BasicPackages U Cedar BasicTime P Basic BcdStuff P Basic Binder T Tool BootTool T Tool BTree P Basic BTreeTest T other CedarRuntime U Basic Celtics T other Chat T Tool Clock T Tool CoFork P other CollectibleVM P other ColorPackage P other CommandTool T Cedar Communication P Basic Compiler T Tool CompNeeds T other Cypress P other DebugTool T Tool DFCommands T other DFIncludes T other DFPackage P Cedar DFTool T Tool Disk P Basic DiskTool T other ExecHacks T other File P Basic FileStream P Basic FileStreamTest T other FormatDisk P Basic Forms U other FS P Basic FSUtil P other Germ P other GoodTimes T other GrapevineUser P Basic Graphics P Cedar HeadsCommon P Basic HeadsD0 P Basic HeadsDorado P Basic Iago T Basic Idle P other IFSFile P other Inscript P Cedar Installer P Cedar Interpreter P Cedar InterpreterTool T Cedar IO P Basic IOTest T other LifeSupport U Cedar Lister T other Loader P Basic LoadState P Basic Lupine T other Maintain T other MCross T other MesaRuntime P Basic MicrocodeD0 P other MicrocodeDorado P other Nucleus U Basic OnlineMergeSort P other Peanut T other PeekMail T other PlotPackage P other PrintTV P Cedar ProcessProps P Basic Pup P Basic Pupwatch T other ReadEvalPrint P Cedar Real P Basic RedBlackTree P other RedBlackTreeRef P other ReleaseTool T other Reminder T other Rollback P Basic Rope P Basic RPCRuntime P Cedar SafeStorage P Basic Scaled P other Sequin P other Set P other ShowPress T other SimpleTerminal P Basic SirPress P other SpellingTool T other Spy T Tool Squirrel T other STP P Basic StructuredStreams P other Tentacles U Basic Terminal P Basic Tioga PT Cedar TIP P Cedar Tools U Tool TSetter PT other UserCredentials P Basic UserInterface U Cedar UserProfile P Cedar VersionMap P Cedar VersionMapBuilder PT other Viewers P Cedar VM P Basic VTables P other Walnut T other Watch PT Tool Waterlily T other WorldVM P Cedar Release Components In general, documentation is stored on one of: [Indigo]ComponentName>*.mesa -- when the interface is the best documentation [Indigo]Documentation>ComponentName.tioga but there are occasional exceptions. For brevity, we do not list Component.Press if Component.Tioga exists, and we do not include [Indigo]Documentation> in the file name if that is the prefix. If not specified, the host is assumed to be [Indigo]. Given the number of changes for Cedar 5.0, all components are listed below. Unless otherwise indicated, questions about changes in individual components should be addressed to their maintainers. AlpineUser DF files: AlpineUser.df Documentation: AlpineDoc.tioga, WalnutOnAlpineDoc.tioga Maintainer: Kolling, Taft The basic interface for programs using the Alpine file server. Some user commands are accessible through interpreter calls. AMEvents DF files: AMEvents.df Documentation: AMEvents.mesa, FastBreak.mesa | see maintainer Maintainer: Birrell, Rovner AMEvents is the part of the Cedar abstract machine concerned with interaction between executing programs and the debugger: uncaught signals, breakpoints, and interpreted procedure calls. Normal access to these facilities is through the InterpreterTool. Consult a wizard before calling AMEvents directly. AMModel DF files: AMModel.df Documentation: AMModel.mesa, AMMiniModel.mesa Maintainer: Rovner AMModel.df includes the components of the Cedar "abstract machine" that deal with loaded programs, frames, their object modules and source modules, and interdependencies. Its major public interfaces are AMModel.mesa and AMMiniModel.mesa. AMProcess DF files: AMProcess.df Documentation: AMProcess.mesa | see maintainer Maintainer: Birrell, Rovner AMProcess is the component of the Abstract Machine that manipulates processes. AMTypes DF files: AMTypes.df Documentation: AMTypesDoc.tioga (out of date) | AMTypes.mesa, AMBridge.mesa Maintainer: Rovner AMTypes.df includes the part of the Cedar "abstract machine" that deals with types, values and variables. Its major public interfaces are AMBridge.mesa and AMTypes.mesa. BasicLoadState DF files: BasicLoadState.df Documentation: BcdDefs.mesa, BcdOps.mesa, Table.mesa, TimeStamp.mesa | see maintainer Maintainer: Levin New for Cedar 5.0 (no catalog entry). BasicPackages DF files: BasicPackages.df Documentation: Commander.mesa, CommandToolDoc.tioga, PriorityQueue.mesa, Random.mesa, RefTab.mesa, Resource.mesa, RopeFile.mesa, SymTab.mesa Maintainer: Atkinson, MBrown, Rovner, Stewart BasicPackages is a bootfile component that combines several unrelated components. All of them were present in earlier releases, and all but Random and RopeFile were part of the boot file in earlier releases. Combining things in this way may not be a good idea, for several reasons, and we may split them apart in some later release. You may avoid some df-file editing by referring to the pieces of BasicPackages via LifeSupport.df. Commander - provides a central command registry that is used by most programs with text commands (as contrasted with tools that provide interaction through viewers). PriorityQueue - A PriorityQueue object is a collection of items where items can be inserted in any order, and removed in best-first order, where "best" is determined by a user-supplied predicate. This package can be used to sort in O(N log N) time. Random - is a module that produces a sequence of random INTs; RandomCard generates random CARDINALs, and RandomInt generates random INTEGERs. These generators all use the same algorithm, which produces very good sequences and is quite fast. RefTab - provides an alternative to property lists for associating information with unique keys in a -global fashion using specific structures (hash tables). RefTab includes procedures for creating a new table, fetching a value for a particular key, storing a new key-value pair, deleting a key-value pair, and enumerating the pairs in a given table. RopeFile - is a module that implements ropes backed by files. The ropes need not take up much virtual memory, which can either improve or degrade performance, depending on the pattern of Rope operations used. SymTab - provides symbol table objects, which can be used to associate ropes with REFs. SymTab has insertion, lookup, deletion, and enumeration operations. BasicTime DF file: BasicTime.df Documentation: BasicTime.mesa | see maintainer Maintainers: Birrell, Levin BasicTime provides access to the various kinds of system-maintained time, such as time of day and high resolution time. Conversions to and from Pup (Alto) time format and NS (product standard) time formats are provided. BcdStuff DF file: BCDStuff.df Documentation: see maintainer Maintainers: Levin, Maxwell, Rovner New for Cedar 5.0 (no catalog entry). Binder DF file: Binder.df Documentation: Mesa 5.0 language manual (outdated) Maintainer: Rovner The Mesa Binder. BootTool DF file: BootTool.df Documentation: see maintainer Maintainer: Levin, Rovner This tool provides a means to checkpoint or rollback, or to boot other volumes using button clicks. For those with special needs, a more elaborate tool is provided to support booting different files, or booting with unusual parameters. BTree DF file: BTree.df Documentation: BTreeDoc.tioga Maintainer: Taft This Cedar package maintains an ordered collection of objects as a BTree. The objects may be of different sizes, and there may be a large number of them (tens or hundreds of thousands). The amount of virtual memory required does not depend on the size of the BTree, and the cost of finding, inserting, and deleting objects increases only very slowly as the BTree gets larger. The package makes very few assumptions about the representation of the objects being stored or about the properties of the storage itself. BTreeTest DF file: BTreeTest.df Documentation: BTreeDoc.tioga Maintainer: Taft A test and performance measurement program for the BTree package. Celtics DF file: Celtics.df Documentation: CelticsDoc.tioga Maintainer: Atkinson The Celtics package contains two debugging tools: Celtics and BreakTool. Celtics is used to set low-cost counting breakpoints. These breakpoints can even be set in very sensitive code, such as the allocator or page fault handling, since incrementing the count is entirely performed with resident code. BreakTool, on the other hand, permits the setting of conditional or logging breakpoints, where an expression is evaluated at every breakpoint. These breakpoints are much more powerful, but the user is cautioned against setting them in places required for the handling of breakpoints. Chat DF file: Chat.df Documentation: ChatDoc.tioga Maintainer: Stewart Tool for talking to file servers. A command line of simply "Chat" will create an iconic Chat viewer. A command line like "Chat maxc" will create an open chat viewer, connect to Maxc, and log in the current Cedar user. Clock DF file: Clock.df Documentation: see maintainer Maintainer: Atkinson Clock is a graphic display of the current time. It uses Graphics and Viewers to present a circular clock face with hands. It is a good example program as well as an attractive timepiece. The ChangeOffset button now changes the time by hours (left-click), minutes (middle-click) or seconds (right-click). Holding the Shift key during the mouse click causes the time to appear to go forward, otherwise time appears to go backward. Holding Control for any click causes the displayed time to be the actual time. CoFork DF file: CoFork.df Documentation: CoForkDoc.tioga Maintainer: Sturgis Provides for the convenient start up and shut down of coroutines that use Mesa PORTS. CollectibleVM DF file: CollectibleVM.df Documentation: CollectibleVM.mesa Maintainer: Taft CollectibleVM is a package for obtaining chunks of raw VM that are reclaimed automatically. This is useful for applications requiring storage that is page-aligned or has other properties obtainable from VM but not from the normal Cedar allocator. ColorPackage DF file: ColorPackage.df Documentation: ColorWorld.mesa, ColorMap.mesa | see maintainer Maintainer: Wyatt This package is the set of programs outside of CedarGraphics and Viewers required to run color viewers. It exports: ColorMap.mesa for clients who want to change the color map in the color display. ColorWorld.mesa for Viewers. CommandTool DF file: CommandTool.df Documentation: CommandToolDoc.tioga, Cedar5LocalDirectories.tioga, CreateButtonDoc.tioga | CommandTool.mesa, FileNames.mesa, RopeList.mesa Maintainer: Stewart The CommandTool has been extensively rewritten for Cedar 5. You are strongly encouraged to read CommandToolDoc.tioga. CommandToolStructureDoc.tioga is less interesting. The Cedar 5 CommandTool is a stream-oriented "glass teletype" command-line processor. It is a place to invoke Cedar subsystems. It is sufficiently like any other executive so that you can probably get by, but you should read CommandToolDoc.tioga and some of the documentation files for the various commands. Interesting interfaces: CommandTool.mesa -- command line parsing and so forth. FileNames.mesa -- processing of file names beyond that available from FS RopeList.mesa -- a version of List that deals with LIST OF Rope.ROPE. Communication DF file: Communication.df Documentation: see maintainer Maintainer: Birrell, Levin The Pilot communication package implements the basic communication protocols - up to the level of byte streams. There are two flavors of protocol available: "OISCP," described in the Pilot Programmers' Manual, and "PUP." At present, only the PUP protocols are used within CSL. These are all "unsafe" interfaces. See also the STP package for FTP transfers, and Lupine for remote procedure calls. Compiler DF file: Compiler.df Documentation: Mesa 5.0 language manual (outdated) | Cedar Language Reference Manual Maintainer: Rovner The Cedar language compiler. CompNeeds DF file: CompNeeds.df Documentation: CompNeedsDoc.tioga Maintainer: Spreitzer CompNeeds examines source files to determine compilation and binding dependencies and produces a command to compile and bind whatever is necessary to produce up-to-date BCDs for a given set of goal modules. Cypress DF file: Cypress.df Documentation: [Indigo]Database>CypressDoc.press Maintainer: Cattell.pa Cypress is the the database management package for Cedar. It is accessed through the interface DB.mesa, or via application programs such as Walnut. The Squirrel application (see separate catalog entry) provides some general-purpose database tools. If interested in the Cedar data base work, use Maintain to place your name on the distribution list CedarDatabase^. DebugTool DF file: DebugTool.df Documentation: see maintainer Maintainer: Birrell (no catalog entry). Dependencies DF file: Dependencies.df Documentation: Dependencies.mesa Maintainer: Rovner The "Dependencies" command produces a cross reference that lists for each bcd file in or under a specified DF file the other bcd files that depend on it. Dependencies takes the name of a df file as a parameter and produces two text files: Dependencies.txt and Dependencies.log. Dependencies.txt has the cross reference; Dependencies.log contains a copy of the stuff printed on the commandtool typescript as Dependencies runs. This package was produced by copying Roy Levin's implementation of VerifyDF and modifying it. DFCommands DF file: DFCommands.df Documentation: BringOverDoc.tioga, SModelDoc.tioga, VerifyDFDoc.tioga Maintainer: vanLeunen DFCommands provides a command-line interface to the DFTool. These commands (BringOver, SModel, VerifyDF) do not interact with the user; that is, in terms of Cedar 4.4's versions of these commands, "/a" is now the only behavior available. DFIncludes DF file: DFIncludes.df Documentation: in catalog entry Maintainer: MBrown The command line "DFIncludes XXX.df" produces a file DFIncludes.txt with lines of the form "shortFileName containingDfFile directory", sorted by shortFileName. There is one line for each source file included (in the DF sense) in XXX.df. Both containingDfFile and directory are stripped of redundant information (like "/Indigo/Cedar/Top/") to keep the lines short. Warnings are written to DFIncludes.log. DFPackage DF file: DFPackage.df Documentation: DFOperations.mesa | DFOperationsQueue.mesa | DFUtilities.mesa | see maintainer Maintainer: Levin DFPackage is the basic Cedar support for reading and writing DF files. DFTool DF file: DFTool.df Documentation: see maintainer Maintainer: Levin DFTool provides an interactive tool for BringOver, SModel, and VerifyDF commands. Disk DF file: Disk.df Documentation: Disk.mesa | see maintainer Maintainer: Birrell, Levin New for Cedar 5.0 (no catalog entry). DiskTool DF file: DiskTool.df Documentation: see maintainer Maintainer: Birrell New for Cedar 5.0 (no catalog entry). ExecHacks DF file: ExecHacks.df Documentation: See catalog entry. Maintainer: Plass A revival of a Scott McGregor hack to put some handy menu buttons in the CommandTool. Adds some handy menu buttons to CommandTool viewers: "Compile" and "Redo". "Compile" deduces a filename from the selection, and then does a "Compile", "Bind", or "@" with the root of the filename, depending on the extension. It is purely textual, and extracts just the root of the file name because the Compile command doesn't accept fNames (as of this writing). So watch your working directories. "Redo" is a simple replay of the last command. File DF file: File.df Documentation: File.mesa | see maintainer Maintainer: Birrell, Levin New for Cedar 5.0 (no catalog entry). FileStream DF file: FileStream.df Documentation: FileStreamDoc.tioga Maintainer: Hagmann FileStream is a separate package for Cedar 5.0. It is a generic file stream package, and currently its clients are FS and Alpine file streams. It is a higher performance implementation of its predecessor, FileIO. All parameters in stream creation to FileStream are now used; previously some were ignored. Two streams (one read and one write stream) may now reference the same open file. Sequential reading of a stream will cause the package to pre-read data ahead when sufficient buffers exist. Write behind (the parallel writing of dirty buffers) is also performed. FileStreamTest DF file: FileStreamTest.df Documentation: see maintainer Maintainer: Hagmann This is test software for the filestream package. FormatDisk DF file: FormatDisk.df Documentation: FormatDisk.mesa Maintainer: Taft Performs machine-dependent disk initialization operations, principally formatting and initial microcode installation. Iago is the only intended client. Forms DF file: Forms.df Documentation: SampleSheet.tioga Maintainer: Beach This is the beginning of a collection of Tioga forms useful for the creation of various kinds of documents within Cedar. SampleSheet.tioga contains examples of all the principal Looks and Formats of Cedar.style. Form.memo approximates the old Bravo memo.form. For Cedar 5.0 - New message forms: CSLNotebookMsg.form, LibraryRequest.form, PostCedarRelease.form, PreCedarRelease.form, BootFileRelease.form. New Mesa.form and Help.template. Minor updates to Slides.form, BlueAndWhite.Style and CSLBusinessLetter.form. FS DF file: FS.df Documentation: FSDoc.tioga Maintainer: Schroeder FS is a file system for use on a Cedar workstation. It provides access both to remote file servers and to the local disk. Remote files accessible from FS must reside on a file server that supports the FTP protocol, in particular IFS's and Alpine servers. These file servers may be accessed from many Cedar instances on different workstations at the same time. Local files are accessed through an abstraction called the local server. The local server is the set of logical volumes on the local disk of a Cedar instance. One of these logical volumes may be designated the system volume. FS provides a directory for each volume, and a cache for remote files on the system volume. FS also defines a generic abstraction, the FS.OpenFile, of which the workstation file system is only one class. The generic operations provide access to the data pages and properties of files. Other packages may create their own classes of FS.OpenFile's, upon which these generic FS operations also may be performed. For example, direct page-at-a-time access to Alpine servers is provided through this mechanism. FS also contains facilities for creating IO.STREAM's on files, for binding local names to remote files, for finding the version of a file that was created at a particular time, and for limiting the number of extant versions of local files. FSUtil DF file: FSUtil.df Documentation: FSUtilDoc.tioga Maintainer: Schroeder This package includes commands for listing the set of FS.OpenFiles, FS.ActiveFiles, and IO.STREAM's of class $FileStream that exist in a Cedar instance. It also contains commands for listing the FS cache LRU chain, listing statistics of the FS cache flusher, exercising the cache flusher, and forcing FS.OpenFiles to be closed. All these commands will be of interest to experts only. Germ DF file: Germ.df Documentation: see maintainer Maintainer: Taft (no catalog entry). GoodTimes DF file: GoodTimes.df Documentation: see maintainer Maintainer: Atkinson GoodTimes is a simple program that measures and reports elapsed times for various Cedar computations. Graphics DF file: Graphics.df Documentation: Graphics.mesa Maintainer: Wyatt The basic low-level display package; provides device independent graphics and text operations. GrapevineUser DF file: GrapevineUser.df Documentation: see maintainer Maintainer: Birrell, Schroeder GrapevineUser is the package for interfacing to the Grapevine mail and registration services. The Cedar interfaces to Grapevine are GVBasics.mesa, GVNames.mesa, GVSend.mesa and GVRetrieve.mesa. GrapevineUser is included in the Cedar boot file. HeadsCommon DF file: HeadsCommon.df Documentation: see maintainer Maintainer: Taft (no catalog entry). HeadsD0 DF file: HeadsD0.df Documentation: see maintainer Maintainer: Taft (no catalog entry). HeadsDorado DF file: HeadsDorado.df Documentation: see maintainer Maintainer: Taft (no catalog entry). Iago DF file: Iago.df Documentation: see maintainer Maintainer: Birrell The Cedar replacement for Othello. This tool manages physical and logical volumes on the local system disk. Idle DF file: Idle.df Documentation: Idle.mesa | see maintainer Maintainer: Levin Low-level support for putting Cedar to sleep. IFSFile DF file: IFSFile.df Documentation: IFSFile.mesa | see maintainer Maintainer: Atkinson IFSFile supports Leaf protocol access to IFS. Leaf access is primarily useful for low overhead random access to pages of a file. There are no functional changes since Cedar 4.4, although there is a greater use of SafeStorage facilities. Inscript DF file: Inscript.df Documentation: InscriptDoc.tioga Maintainer: Rovner The basic keyboard input subsystem. Installer DF file: Installer.df Documentation: see maintainer Maintainer: Levin New for Cedar 5.0 (no catalog entry). Interpreter DF file: Interpreter.df Documentation: Interpreter.mesa Maintainer: Rovner The programming interface to the Cedar/Mesa expression interpreter. It is used by the InterpreterTool and by the "_" command. InterpreterTool DF file: InterpreterTool.df Documentation: InterpreterToolDoc.tioga Maintainer: Rovner The user interface to the Cedar/Mesa expression interpreter. IO DF file: IO.df Documentation: IOConversionDoc.tioga, IODoc.tioga, EditedStream.mesa, IOClasses.mesa Maintainer: MBrown The IO component exports the IO, EditedStream, IOClasses, IOUtils, and Convert interfaces. The first four interfaces define the STREAM type and the generic operations on streams, contain procedures for creating streams from objects of other types, and provide stream-oriented scanning and printing. The Convert interface gives input/output conversions between several Cedar types and both ROPE and REF TEXT. Cedar 5.0 - There have been many changes in IO; see IOConversionDoc.tioga for a description of interesting changes since Cedar 4.4. The IO, EditedStream, IOClasses, IOUtils, and Convert interfaces are exported by this component. IOTest DF file: IOTest.df Documentation: see maintainer Maintainer: MBrown IOTest is a test program for the IO package. Lister DF file: Lister.df Documentation: ListerDoc.tioga Maintainer: Atkinson The Cedar 5.0 Lister is a major rewrite of the old Lister. Lister is a program to produce human readable files from bcd files produced by the Compiler and Binder. Lister registers a variety of commands, each of which produces a different set of information from a given list of bcd files. These commands include: BcdLister lists contents of a bcd file BodyLister lists the bodies of a bcd file (single module) CodeLister lists the code of a bcd file (single module) ExportsLister lists the exports of a bcd file FGTLister lists the fine grain table of a bcd file (single module) GlobalFramesLister lists the fine grain table of a bcd file RTBcdLister lists the runtime types information of a bcd file SymbolLister lists the symbols of a bcd file (single module) UnboundLister lists the unbound exports of a bcd file UsingLister generates a DIRECTORY clause for a bcd file (single module) Loader DF file: Loader.df Documentation: Loader.mesa | see maintainer Maintainer: Levin, Schroeder The basic program loader. LoadState DF file: LoadState.df Documentation: LoadState.mesa | see maintainer Maintainer: Birrell, Levin, Rovner New for Cedar 5.0 (no catalog entry). Lupine DF file: Lupine.df Documentation: LupineUsersGuide.press Maintainer: Birrell Lupine is a program that allows you to make inter-machine "Remote Procedure Calls" ("RPC"). This allows you to write what look like ordinary Mesa procedure calls to invoke operations on another machine on the Pup internet. Lupine and its supporting RPCRuntime are intended to make network communication very easy, very fast, and very cheap. Secure communication facilities are included. Maintain DF file: Maintain.df Documentation: see maintainer Maintainer: Birrell, Schroeder Maintain provides a tool for interrogating and updating the Grapevine registration database. MCross DF file: MCross.df Documentation: MCrossDoc.tioga Maintainer: Rovner Creates a textual cross-reference for the identifiers that appear in a specified collection of Cedar source files. It is happy to accept other source files (like .cm and .config ) too. MesaRuntime DF file: MesaRuntime.df Documentation: see maintainer Maintainer: Levin Runtime support for the Mesa language. Exports these interfaces: Basics, MesaRuntimeInit, PrincOps, PrincOpsUtils, Process, ProcessExtras, RuntimeError. MicrocodeD0 DF file: MicrocodeD0.df Documentation: see maintainer Maintainer: Fiala This component consists of microcode files that Dolphin users must install on their disk in order to run Cedar. The installation is ordinarily done automatically by Iago when you create your Cedar world. If you issue the Iago commands manually, the files you install are: Install Cedar Microcode: CedarD0.eb Install Initial Microcode: InitialPilot.eb If you want to boot Cedar with the boot button, OR Install Initial Microcode: RubiconInitialAltoD0.eb If you want to boot the Alto emulator with the boot button. Cedar 5.0 - This version implements new reference counting and storage allocation opcodes used by Cedar 5.0. This version is not upward-compatible from the 4.4 version. MicrocodeDorado DF file: MicrocodeDorado.df Documentation: [Indigo]DoradoBooting.press Maintainer: Taft This component consists of microcode files that Dorado users must install on their disk in order to run Cedar. The installation is ordinarily done automatically by Iago when you create your Cedar world. If you issue the Iago commands manually, the files you install are: Install Cedar Microcode: file CedarDorado.eb Install Initial Microcode: file InitialEtherCedarDorado.eb If you want to boot Cedar with the boot button, OR Install Initial Microcode: file InitialEtherAltoMesaDorado.eb If you want to boot the Alto emulator with the boot button. Cedar 5.0 - Names have changed since Cedar 4.4 in order to conform to the standard . style. OnlineMergeSort DF file: OnlineMergeSort.df Documentation: ListSort.mesa Maintainer: MBrown A very efficient "polymorphic" list-sorting package. Sorts LISTs of T, where T (and a procedure for comparing two Ts) is defined in a DEFs module that parameterizes the ListSort interface. The package's implementation uses the "online merge sort" algorithm to sort an n-item list in time O(n log n). A user of the package creates a suitable DEFs module to parameterize ListSort, then compiles ListSort and OnlineMergeSortImpl. Peanut DF file: Peanut.df Documentation: see maintainer Maintainer: Wyatt New for Cedar 5.0. A Tioga-based mail reading and sending package. PeekMail DF file: PeekMail.df Documentation: see maintainer Maintainer: Birrell New for Cedar 5.0 (no catalog entry). PlotPackage DF file: PlotPackage.df Documentation: Plotter.mesa, RealEvent.mesa, RealVec.mesa, RefAnyStream.mesa, Timer.mesa | see maintainer Maintainer: Rovner A Viewers-based facility for dealing with vectors of REALs, clock-driven interval timers, streams of "events", and simple 2-d graphs of (x,y) coordinate sequences. It features automatic axis labelling and repainting. It provides a good prototype showing how fairly impressive graphic applications can built quickly and easily using existing packages. PrintTV DF file: PrintTV.df Documentation: PrintTV.mesa, BackStop.mesa Maintainer: Rovner PrintTV provides for textual output of Abstract Machine values. ProcessProps DF file: ProcessProps.df Documentation: ProcessProps.mesa Maintainer: Atkinson ProcessProps provides a safe association of pairs with processes. It is similar to LISP-style dynamic binding. Pup DF file: Pup.df Documentation: see maintainer Maintainer: Birrell, Levin This implements the basic PUP communication protocols - up to the level of byte streams. Most public interfaces are in Communication.df, but EFTP is in Pup.df. Higher level protocols are available through the STP package (for file transfer) and Lupine (for remote procedure calls). PupWatch DF file: PupWatch.df Documentation: see maintainer Maintainer: Birrell Running Pupwatch.bcd from Pupwatch.df creates a viewer that allows you to watch Pup packets in transit on the local Ethernet. Pupwatch will display packets from or to a particular host, which you specify by NLS name or network address. The pupwatch viewer gives you a brief summary of each packet. The "Write Log" button writes a file giving more details about each packet. Pupwatch understands most common Pup packet types. If you run Pupwatch on a Dolphin, it is liable to miss packets because of lack of processing power; on a Dorado it should miss no packets. ReadEvalPrint DF file: ReadEvalPrint.df Documentation: ReadEvalPrint.mesa | see maintainer Maintainer: Stewart, Rovner ReadEvalPrint provides a framework for programs that interactively execute commands, interpret expressions, or otherwise use the form of {accept input line; perform action based on the input; print the results; repeat}. Real DF file: Real.df Documentation: MesaFloat60.bravo | Real.mesa | Ieee.mesa | see maintainer Maintainer: Levin, Stewart Real is the Cedar support for IEEE 32-bit floating point numbers. RedBlackTree DF file: RedBlackTree.df Documentation: OrderedSymbolTable.mesa Maintainer: MBrown A package for maintaining symbol tables with an ordering among keys. The ordering allows the table to perform searches such as "find the smallest item in the table that is larger than this one," as well as exact-match searches. A table stores items of type I with keys of type K, where I and K are defined in a DEFs module that parameterizes the OrderedSymbolTable interface. The package's implementation uses a binary tree representation of 2-3-4 trees, called "red-black" trees; this means that any search, insertion, or deletion from a table of n items takes O(log n) time. A user of the package creates a suitable DEFs module to parameterize OrderedSymbolTable, then compiles OrderedSymbolTable and RedBlackTreeImpl. RedBlackTreeRef DF file: RedBlackTreeRef.df Documentation: OrderedSymbolTableRef.mesa Maintainer: MBrown A variant of the above package that stores items of type REF ANY, and takes a item-comparison procedure as a parameter at the time a table is created. ReleaseTool DF file: ReleaseTool.df Documentation: see maintainer Maintainer: Atkinson The ReleaseTool is a new component for Cedar 5.0. The ReleaseTool is used to verify the completeness and consistency of releases, and to ship the files from the staging directory (normally [Indigo]) to the release directory (normally [Indigo]). Reminder DF file: Reminder.df Documentation: Reminder.mesa Maintainer: Rovner This is a simple program for managing a personal reminder calendar, in lieu of the more complete facilities of Hickory, which is not yet released. Rollback DF file: Rollback.df Documentation: see maintainer Maintainer: Birrell New for Cedar 5.0 (no catalog entry). Rope DF file: Rope.df Documentation: RopeDoc.tioga | see maintainer Maintainer: Atkinson The Rope package, which is new for Cedar 5.0, exports the familiar old interfaces Ascii, ConvertUnsafe, RefText, and Rope. The most notable changes for Cedar 5.0 are value, as in AppendChar: PROC [to: REF TEXT, from: CHAR] RETURNS [REF TEXT]. The result TEXT is the same REF as the parameter to, unless to.length = to.maxLength when AppendChar is called. In this case, a longer TEXT is allocated and the current contents of to are copied into it. It is considered an error to pass NIL as the value of to (PointerFault will be raised). The same convention is followed by all procs that append to a REF TEXT in the RefText interface. The IO and Convert interfaces follow the same conventions. the minor changes in Rope. RPCRuntime DF file: RPCRuntime.df Documentation: LupineRuntime.mesa, RPC.mesa, RPCLupine.mesa, RPCWatch.mesa | see maintainer Maintainer: Birrell Runtime support for Remote Procedure Call. SafeStorage DF file: SafeStorage.df Documentation: SafeStorage.mesa, SafeStorageDoc.tioga (outdated) | see maintainer Maintainer: Rovner Cedar runtime support for reclaimable reference-counted storage. The SafeStorage package exports the interfaces Atom, List, SafeStorage, and UnsafeStorage. Atom - contains procedures for creating atoms, and for storing and retrieving information on property lists. Property lists are lists of name value pairs that are usually associated with an atom, but can also be manipulated directly using procedures in this interface, e.g., the data field in a Viewer is usually a property list so that various clients can associate data with a viewer without getting in each others way. List - contains various useful procedures for dealing with LIST OF REF ANY, e.g., Append, Member, NthTail, Union, Reverse, Sort, etc. For applications that traffic in LIST OF particular REF, e.g., LIST OF ATOM, it is necessary (but acceptable) to LOOPHOLE the list into a LIST OF REF ANY and then use a procedure in this interface. (For those procedures that return a LIST OF REF ANY value, it may be necessary to LOOPHOLE this value back into the LIST OF particular REF). Scaled DF file: Scaled.df Documentation: Scaled.mesa Maintainer: Plass Supports scaled fixed-point numbers. Sequin DF file: Sequin.df Documentation: Sequin.mesa | see maintainer Maintainer: Atkinson Sequin supports a full-duplex sequential stream of packets on the Ethernet. It is primarily used to support IFSFile (Leaf access to IFS). There are no functional changes since Cedar 4.4, although there is a greater use of SafeStorage facilities. Set DF file: Set.df Documentation: SetDoc.tioga Maintainer: Rovner This package is intended for dealing with "sets" of REFs, i.e., variable length collections of elements in which there are no duplicates. Elements are REF ANYs ShowPress DF file: ShowPress.df Documentation: see maintainer Maintainer: Beach, Wyatt (no catalog entry). SimpleTerminal DF file: SimpleTerminal.df Documentation: SimpleTerminal.mesa Maintainer: Levin New for Cedar 5.0 (no catalog entry). SirPress DF file: SirPress.df Documentation: SirPress.mesa | see maintainer Maintainer: Plass SirPress is a module for writing Press files. SpellingTool DF file: SpellingTool.df Documentation: SpellingToolDoc.tioga Maintainer: Nix The Spelling Tool is an efficient, lightweight tool for checking spelling in text. It is used much like a string search command; however, rather than locating the next piece of text that matches a particular pattern, it locates the next misspelled word. The Tool also provides facilities that assist in correcting misspelled words and that retrieve definitions from the Dictionary Server. Spy DF file: Spy.df Documentation: SpyDoc.tioga Maintainer: Maxwell The Spy is the standard performance tool. It allows the programmer to monitor CPU usage, page faults, allocations, or user defined resources. Squirrel DF file: Squirrel.df Documentation: SquirrelDoc.tioga Maintainer: Cattell, Donahue Squirrel provides general-purpose database tools. It is intended for debugging database applications, and for building special databases for which no special application code is necessary or desirable. Squirrel implements whiteboards, used for Cedar documentation. Experimental whitepages facilities are now available, as well. STP DF file: STP.df Documentation: STP.mesa | see maintainer Maintainer: Birrell, Levin No known changes (no catalog entry). StructuredStreams DF file: StructuredStreams.df Documentation: StructuredStreams.mesa | see maintainer Maintainer: Spreitzer This is a kind of output stream. It is a filter that inserts white space to do pretty-printing. StructuredStreams.Mesa defines the calls peculiar to pretty printing. This is an IO.STREAMs interface to Greg Nelson's UnparserBuffer, which is also in the DF file. Tentacles DF file: Tentacles.df Documentation: see maintainer Maintainer: Birrell, Levin New for Cedar 5.0 (no catalog entry). Terminal DF file: Terminal.df Documentation: see maintainer Maintainer: Levin Terminal provides a facility for multiplexing virtual terminals on a single physical terminal. Tioga DF file: Tioga.df Documentation: TiogaDoc.tioga Maintainer: TiogaImplementors^.pa The standard Cedar text editor. TIP DF file: TIP.df Documentation: TIPDoc.tioga Maintainer: TiogaImplementors^.pa TIP is the middle-level keyboard and mouse event parser. TIP is the source of input events for Viewers and Tioga. The source of primitive events for TIP is Inscript. TSetter DF file: TSetter.df Documentation: TSetterDoc.tioga Maintainer: Beach, Plass The TSetter tool provides a convenient way of driving the Tioga typesetter or creating press files to containing the current contents of the screen. Start it with the TSetter command, and use the middle mouse button on the menu items to find out what they do. The first parameter to the TSetter command is the server, and the rest of the line is a list of files to typeset. UserCredentials DF file: UserCredentials.df Documentation: UserCredentials.mesa | see maintainer Maintainer: Levin UserCredentials provides centralized management of the credentials of the user at the terminal. UserProfile DF file: UserProfile.df Documentation: UserProfileDoc.tioga Maintainer: Donahue UserProfile provides centralized user option handling for the rest of Cedar. VersionMap DF file: VersionMap.df Documentation: VersionMap.mesa, VersionMapDefaults.mesa | see maintainer Maintainer: Atkinson VersionMap provides two fast maps: from version stamps to long names, and from short names to long names. This facility is used for debugging. VersionMapBuilder DF file: VersionMapBuilder.df Documentation: see maintainer Maintainer: Atkinson VersionMapBuilder provides facilities for building version maps from DF files. The Cedar 5.0 VersionMapBuilder is a major rework of the way that version maps are built. Viewers DF file: Viewers.df Documentation: ViewerDoc.tioga Maintainer: Wyatt The Cedar window package. ViewRec DF file: ViewRec.df Documentation: ViewRecDoc.tioga | see maintainer Maintainer: Spreitzer ViewRec is intended for quick and easy user interface construction. Given a record, or the name of a DEFINITIONS module, it will construct a Viewer on the components of that record that are simple enough (numbers, ROPEs, enumerations, subranges of simple enough, records of simple enough stuff, procedures that take simple enough stuff, or explicitly bound by the client). The procedures may be invoked, and the data may be edited. Cedar 5.0 - You now have the option of allowing your RecordViewers to dynamically relayout to fit the current viewer width. More Cedar aggregate classes supported (ARRAYs and SEQUENCEs). Numerous small changes. VM DF file: VM.df Documentation: VM.mesa, VMStatistics.mesa | see maintainer Maintainer: Birrell, Levin New for Cedar 5.0 (no catalog entry). VTables DF file: VTables.df Documentation: VTables.mesa | see maintainer Maintainer: Atkinson VTables is a package that provides a Viewer class for tabular organization of viewers. It supports rectangular organization with optional borders, automatic sizing, and addition, deletion, and swapping of rows and columns of viewers. Walnut DF file: Walnut.df Documentation: WalnutDoc.tioga Maintainer: Orr This is the mail system for Cedar. Please read the documentation before trying to use Walnut. Cedar 5.0 - A major change is that the user's mail database must be on Alpine. Please see the documentation for details. Watch DF file: Watch.df Documentation: WatchDoc.tioga Maintainer: Atkinson This Tool runs in background and cheaply monitors various kinds of resource usage (storage allocation, CPU load, page fault rate, free VM pages, largest run of free VM pages, free MDS pages, etc.) The VM run is calculated twice per minute, but will be calculated immediately if you click the "Sample" button. Other information is sampled at a rate given after the "Interval" button. Red-clicking the "Interval" or "GC Interval" button doubles the parameter associated with the button, blue-clicking halves the parameter. Cedar 5.0 - Watch has been changed to give better statistics on the inner workings of the system. The DiskIO line in the bar graph now indicates what percentage of the time there was a queued disk request. The extensive WatchDoc.tioga is new. Waterlily DF file: Waterlily.df Documentation: help message in the UserExec or Commander Maintainer: Kolling Waterlily compares two (local or remote) source files. Various switches are available to specify the format of the source files and other options, but in most cases the defaults will be sufficient. The long help message via the CommandTool describes the switches. Comment nodes are not seen when input files are specified to be Tioga format (the default). WorldVM DF file: WorldVM.df Documentation: AMProcessBasic.mesa, WorldVM.mesa | see maintainer Maintainer: Birrell Provides low-level access to address spaces for local, world-swap, and remote debugging.