[next] [prev] [up] Date: Thu, 08 Jan 81 22:35:00 -0500 (EST)
[next] [prev] [up] From: Bernard S. Greenberg <Greenberg@MIT-Multics >
~~~ ~~~ [up] Subject: Cubesys and FLUBRD

A new hack for interpreting transforms expressed in FLUBRD
notation has been added to ITS and LISPM cubesys.
(As I am no longer with Honeywell, I can no longer modify
Multics cubesys, but I will give instructions below for
how to use this on Multics).

Transforms are defined in Lisp, with the "defxform" macro.
"defxform" is followed by a name to assign to the transform,
and one to any number of "cube operations". A cube operation
is either

1) a flubrd syllable
2) (apply <transform-name>), meaning do that transform
3) (inverse <transform-name>), meaning "undo" that transform
4) any other list, which is interpreted as a list of cube-operations

A flubrd syllable is an atomic symbol whose name is a character string
consisting of one to any number of flubrdniks.
A flubrdnik is either
1) F L U B R D f l u b r d (case doesnt count)
2) F* L* U* .... etc, meaning counterclockwise turn
3) F2 L2 U2 .... etc, meaning 180 degree turn.

Here is the provided, automatically-loaded library of
transforms:

(defxform monotwist-op
          (ld l*d*) ldl*)

(defxform monotwist
(apply monotwist-op) u (inverse monotwist-op) u*)

(defxform quark
          r2 (apply monotwist) r2)

(defxform pons f2 b2 r2 l2 u2 d2)

(defxform christman-cross       ;Saxe 16 dec 1980
        f ud llrr ud fb uudd b)

(defxform plummer-cross         ;Saxe 3 dec 1980
        f (ll rr) f b (ll rr) f
        l (bb ff) l r (bb ff) l (uu dd))

To load new transforms...
ITS: ^X break, load a file full of defxforms, ^G back.
Lispm: <BREAK>, load the file,^Z
(oh yes, Lispm cubesys now has a ^Z handler)
Multics: ESC X loadfile the file.

To run a transform:
ITS: Use the X command. the transform name will be prompted for.
Lispm. Use the X command. A MENU OF KNOWN TRANSFORMS WILL POP UP!
Mouse at it.
Multics: ESC X run-xform <transformname>

On Multics, you will have to load the new package before doing
any of this, with esc-x loadfile. Currently, it is
>udd>sym>bsg>cxfrm .... it may move or go away. Multicians, contact
me if you have any interest in it.


[next] [prev] [up] [top] [help]