perm filename CONTXT[HAK,ROB] blob sn#461584 filedate 1979-07-13 generic text, type C, neo UTF8
C00001 00001
C00002 00002		Some general ideas on a contextual editor:
C00004 ENDMK
COMMENT ⊗	Some general ideas on a contextual editor:

some context on contexts
  I want an editor that knows (or can be easily made to know) how to
  function within various contexts.  Some such contexts might include
    plain text
    structured text
    programming languages (LISP, SAIL, etc)
    music manuscripting
    circuit design

common traits among contexts
  Each context will have the following common characteristics:
    a cursor (which can be moved around)
    a "current" object (the object that the cursor is closest to)
    some primitive operations on the current object, like move, delete,
      insert, etc
    the ability to display all of the objects in the current context

windows as contexts
  I like the idea of manifesting a context as a "window", as in Smalltalk.
  When within the window, all the rules of the current context are in
  effect.  In a sense, the wondow not only defines the context, but
  actually IS the context.

a typical object may be:

define OBJ
<list of OWN variables>
<else> (↑Huh?)