ShortName.mx
Copyright Ó 1989 by Xerox Corporation. All rights reserved.
Created by YourName, January 26, 1989 5:39:12 pm PST
YourName, January 26, 1989 5:38:34 pm PST
Michael Plass, February 14, 1989 1:31:12 pm PST
Documentation
Put documentation here
Cedar Primitives
(cedar-imports "Rope" "more" "more" "more")
add strings to DIRECTORY and IMPORT clauses
(cedar-directory "Ascii" "more" "more")
add strings to DIRECTORY clause only
(cedar-install "component1" "component2")
add lines to the generated install file
(define-ref-type "module-name" "type-name")
Defines TheFoo procedure for narrowing a "Foo"
(define-rep-type "module-name" "type-name")
Defines TheFoo procedure for narrowing a "REF Foo"
(define-enum-type "module-name" "type-name" '(symbol1 symbol2))
Defines TheFoo procedure for converting a symbol into an enumerated type, and SymbolForFoo for converting an enumerated type into a symbol.
(primitive-enable . cedar-code)
The cedar-code nodes are catch phrases that get wrapped around (all of the) primitives; useful for catching random cedar ERRORs and turning them into Scheme.Complain
(define-proc (procname arg1 arg2 (optional-arg))
Defines a primitive procedure that takes the specified arguments. Parenthesized argument names are optional.
"mandatory-doc-string"
result ← CedarCode[arg1, arg2, IF optionalArg=undefined THEN $default ELSE TheSymbol[optionalArg]]
)
ROPE: TYPE ~ Rope.ROPE; -- a node with top-level Cedar code. This is underlined if you have the right style.
Scheme Code
(vanilla Scheme code goes here)