Terminology

Proxima

Naming conventions

In the text below, we will refer to the installation directory as $proxima/, that contains the directories proxima/, generator/ and the Proxima instances (e.g. dazzleEditor/).

File name conventions in $root/proxima/src/<layer>

Folders in proxima/src/ correspond to the presentation layers with their interpretation counterparts and the level below them. The evaluation layer also contains the document level.

<level>.hs ...
<abbr-level>Types.hs Basic data type definitions of a level
<abbr-level>Utils.hs Utility functions on the tree structure of a level
<abbr-layer>LayerTypes.hs Basic data type definitions of a layer
<abbr-layer>LayerUtils.hs Utility functions for a layer
<abbr-layer>Present.hs Exports function presentIO, to present the level (output= <level>)
<abbr-layer>Interpret.hs Exports function interpretIO, to interpret the level (input= <level>)

File name conventions for an instance

Main.hs Calls proxima with sheets
Evaluator.hs instance EvaluationSheet? definition ('implicit sheet')
Presentation.ag AG, how to present things
ProxParser.hs Parser and structure recognizer
Reducer.hs instance ReductionSheet? definition ('implicit sheet')
ScannerSheet.x Alex scanner
DocumentTypeDefinition.prx Datatype definitions
<module>_Generated Generated module from DocumentTypeDefinition.prx, with pieces of manual written code
<module> is one of
  • DocTypes
  • DocumentEdit
  • DocUtils
  • PresentationAg
  • ProxParser

Naming conventions

clip Clipboard, for copy-paste
reuse<...> reuse a structure, replace changed things
Str<...> Structure
Elt Element (in XML)

Terms

ID

An IDP or IDA denotes the identity of a token, used to store the whitespace and focus information for that token.

Hole

All data types from DocumentTypeDefinition.prx are extended with a Hole. A hole in a data structure denotes an undefined value at that place.

Path

The position of a node in a parse tree is represented by a path (type path = [Int]). Starting from the root node, the values in the list denote which child (field) of the current node is descended (counting from 0).

So for example, with this toy example

Root = Root title:String Expr
Expr = Plus Expr Expr
     | Val Int
and this parse tree
Root
  "foo"
  (Plus
    (Val 1)
    (Val 2)
  )
then [1,0] is the path to Val 1, and [1,0,0] the path to 1.

Node

A node is a tuple of some data structure and the Path that leads to it.

Clip

Clip stands for clipboard, and is used with selecting, copying, pasting and inserting structures.

-- MartijnSchrage - 04 Mar 2010