Grapheasy(ID:8045/)


Graphical extensions to Speakeasy


Related languages
SPEAKEASY 3 => Grapheasy   Augmentation of

References:
  • Cohen, Stanley "Grapheasy: a graphical extension to speakeasy"ACM SIGGRAPH Computer Graphics, 9(3) September 1975 view details Extract: Speakeasy instructions
    ACCURACY
    ACOS
    ACOT
    ADDGRAPH
    ADJOINT
    AFAM
    AMAT
    AND
    ANGLES
    ARRAY
    ARRAYS1
    ARRAYS2
    ARRAY2D
    ASIN
    ASYMMAT
    ATAN
    AUTOCORE
    AUTOPRIN
    AUTOTAB
    AVERAGE
    A1D
    A2D
    ABS
    BESSEL
    BESSELK
    BUGS
    BASE
    CLEAR
    CLEARDAT
    COFACTOR
    COLARRAY
    COLMAT
    COLMAX
    COLMIN
    COLWIDTH
    COMMANDS
    COMPILE
    COMPLEX
    CONJ
    CONJUGAT
    CONSTRAI
    CONTINUE
    CONVERT
    COPY
    CORRELAT
    COS
    COSH
    COT
    CREATE
    CREATEME
    CROSS
    CUMPROD
    CUMSUM
    CGAMMA
    DEC
    DEFINEA1
    DEFINEA2
    DELETE
    DERIV
    DEBUGGIN
    DATA
    DET
    DIAGELS
    DIAGMAT
    DMAT
    DOCUMENT
    DOMAIN
    DONTLIST
    DOUBLEFA
    DUMP
    DERIVATI
    EDIT
    EDITMODE
    EIGENSYS
    EIGENVAL
    EIGENVEC
    ELEMENTA
    ELIMCOLS
    ELIMELS
    ELIMINAT
    ELIMROWS
    ELLIPE
    ELLIPK
    END
    ENDAUTOP
    ENDLOOP
    EONE
    EQ
    ERF
    ERFC
    ERRORS
    EXECUTE
    EXP
    ECHO
    FLIP
    FOR
    FINDWORD
    FIN
    FRACPART
    FREE
    FRAC
    GE
    GEIGEIN
    GO
    GOTO
    GRAPH
    GRAPHICS
    GRID
    GT
    GAMMA
    HENCEFOR
    HIDEWORD
    HIERARCH
    HIGHWIDE
    HIWIDE
    HLABEL
    HSCALE
    HSIZE
    HELP
    IMAG
    IMAGPART
    INOUT
    INPUT
    INPUTS
    INSERT
    INTEG
    INTEGERS
    INTEGRAL
    INTEGRAT
    INTERP
    INTERPOL
    INTPART
    INTRPCUB
    INTS
    INT2
    INT4
    INVERSE
    IF
    KEEPTSO
    KEPT
    KEPTTSO
    KEEP
    LABEL
    LIBINDEX
    LIBNAMES
    LIBRARIE
    LIBRARYN
    LENGTH
    LE
    LINKLIB
    LINKULES
    LIST
    LISTHEAD
    LISTMEMB
    LISTPROG
    LOADDATA
    LOC
    LOCMAX
    LOCMIN
    LOCS
    LOG
    LOGGAMMA
    LOGIC
    LOWERTRI
    LT
    LINEPLOT
    MARGINS
    MAT
    MATH
    MATRICES
    MATRIX
    MATRIXDE
    MATRIXOP
    MAX
    MAXOFCOL
    MAXOFROW
    MEAN
    MELD
    MFAM
    MIN
    MINOFCOL
    MINOFROW
    MINOR
    MISCELLA
    MODE
    MODULO
    MONEY
    MOVE
    MYDOCS
    MYHELP
    MYKEEP
    MYKEPT
    MYLINKS
    MYPROCS
    MACHINE
    NE
    NEUMANN
    NEWGPAPH
    NEWPAGE
    NEWS
    NOCOLS
    NOECHO
    NOELS
    NORATION
    NOROOTS
    NOROWS
    NOT
    NOZEROS
    NUMBERS
    NAMES
    OBJECTS
    OMITCLAS
    ONEDIMFU
    ONERROR
    OR
    ORDERED
    ORDEPER
    OTHERS
    OUTPUT
    OBJECT
    PLOTSYMB
    PLOTTITL
    PRINT
    PRINTCLA
    PROCLIB
    PROD
    PRODCOLS
    PRODROWS
    PAUSE
    PROGRAM
    PROGRAMM
    PROGRAMS
    PUNCH
    PRODUCTS
    QUIT
    RANKED
    RANKER
    RATIONAL
    READ
    REAL
    REALPART
    REAL4
    REAL8
    RECLASS
    REFLECTC
    REFLECTR
    RANDOM
    RESUME
    RETURN
    ROLLDOWN
    ROLLLEFT
    ROLLRIGH
    ROLLUP
    ROOTS
    ROUNDED
    ROWARRAY
    ROWMAT
    ROWMAX
    ROWMIN
    RUN
    RESTRICT
    SETGAUSS
    SETINFIN
    SETJACOB
    SETLAGUE
    SETLEGEN
    SETLIB
    SETNULL
    SETPLOT
    SHIFTDOW
    SHIFTLEF
    SHIFTRIG
    SHIFTUP
    SIGN
    SIGNIFIC
    SIMEQ
    SIN
    SINGLEVA
    SINH
    SIZE
    SMAT
    SORT
    SPACE
    SPECIAL
    SPHBES
    SPHBESN
    SQRT
    STANDDEV
    STATISTI
    STOP
    STRUCTUR
    SUM
    SUMCOLS
    SUMPROD
    SUMROWS
    SUMS
    SUMSQ
    SELECT
    SUMSQCOL
    SUMSQROW
    SYMBOLS
    SYMMAT
    TABULATE
    TAN
    TEK
    TIME
    TOTALINT
    TOTINT
    TRACE
    TRANSFAM
    TRANSP
    TRANSPOS
    TRIG
    TSO
    TUTORIAL
    TWODIMFU
    UMAT
    UNITMAT
    UNMODULO
    UPPERTRI
    USE
    USEMEMBE
    VARIABLE
    VARIANCE
    VEC
    VECTOR
    VECTORDE
    VECTORS
    VERSIONS
    VFAM
    VLABEL
    VOCABULA
    VSCALE
    VSIZE
    WHERE
    WHEREVER
    WHOLE
    WRITE
    WHATIS
    ZEROS
    Extract: Introduction
    Speakeasy is a general purpose extensible language designed to provide a truly user-oriented interface to information stored in a computer complex. When operating in an interactive time-sharing environment such as TSO, Speakeasy acts as a real-time interface to large libraries of algorithmic routines. Straightforward graphical facilities combined with the existing large information base of mathematical operations enables even a novice user to quickly tailor the processor into a powerful tool for carrying out his calculations. Extract: Introduction 2
    How easily and naturally the user can express his wishes; the variety and flexibility of the facilities provided to him are of course the test of the power of a particular system. The ultimate test is not how well a system performs a particular task but rather how well the system performs the tasks required by its user.
    Surely the most dramatic way of providing the hardware/software system for an interactive graphic environment is through a totally engineered system. In such an approach a design team creates a complete system in which a set of human-oriented tools are provided to enable users to carry out those operations that are possible and that are considered desirable. Users of such systems are taught its capabilities and by complaints and suggestions influence the design of the subsequent versions of the system. Such hard-programmed systems provide efficient utilization of hardware since each programmed option can be designed with great care. How well such a system performs is to a large extent determined by the creativity and imagination of the designers. Flexibility in such a system is generally limited since the user cannot himself easily add new capabilities without joining the design team. A creative user in an unimaginative system will therefore soon exhaust the capabilities of that system.
    Each piece of hardware is usually supplied with a set of driving programs that are capable of fully exploiting the capabilities of the device. In the most common approach to interactive graphics, each user of a graphics terminal is supplied with this basic information and proceeds to design an interactive system that meets his own needs. While this approach indeed provides the user with great flexibility, it obviously does so by forcing him to become the designer of the complete system. It requires that he become familiar in great detail with components of the system. For the casual computer user, or even for highly-trained specialists in many fields, this is not a satisfactory solution. Even the flexibility inherent in this apDroach suffers in that a user may not, while actually using the system, suddenly decide to make use of even a trivial extension. It is generally necessary to reconstitute the system with the new feature added.
    In this paper we discuss a general approach to the problem of providing sensible access to information stored in a computer complex. We show how a simple extension to an existing system provides a powerful interactive graphics facility. In this approach access to the computer is provided by a special system designed as an interface between the user and the stored information. From the user's viewpoint this interface is an interactive language processor. He communicates in a language specifically tailored to his needs. Built into the interface are a wide variety of facilities designed to address and use information stored elsewhere in the computer. This information is in the form of tables of data, documents, algorithmic techniques or even other processors. This information is made available to the user in as clear and as direct a way as possible. A clear description of how to use a particular piece of information is all that is necessary for it to be a new tool in the users' hands.
    As part of this large existing system, the graphics facilities described here provide a flexible and powerful tool that can be quickly and easily tailored to a wide variety of tasks. New features can be added by programming within the basic structure of the existing interactive system. Since the language processor is complete, the user may avail himself of all of the existing tools and can exploit them to his particular ends. He may, while making use of the processor, investigate approaches and ideas not planned prior to that session. In doing so, he works in a production environment that is at the same time the developmental environment. Extreme flexibility and adaptability characterizes this approach.
    The language processor, called Speakeasy-3 is a system that contains within the existing structure all of the mathematical tools, all of the data access methods, and all of the interactive capabilities needed to access and manipulate information in a direct and flexible way. Speakeasy is truly an extensible language.
    New capabilities are added to the processor by creating new modules for its libraries. This paper explores the results of adding new modules to the standard Speakeasy linkule library.
    In this paper the adaptation of Speakeasy to the Tektronix 4010,4011,4012 terminals will be discussed. (Interfaces to the IBM-2250terminals also exist and parallel these capabilities). The adaption required only a few hours of programming effort and is already in use in several installations.
    The extensions described here operate in a standard TSO environment with the standard Speakeasy processor. These additions can be described simply in terms of their usage within Speakeasy. A tutorial session describing their operation is one of many available to all users of Speakeasy.
    DOI