Home
Papers
?
Ruler
Center
Master Program
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
Ruler
ArieMiddelkoop
<!-- * Set PREV_SKIN = customtitle * Set CUSTOMHEADTITLE = Ruler * Set CUSTOMTOPICTITLE = <em>Ruler</em> * Set WEBTITLE = Ruler --> %TOC% ---++ Strategies RulerStrategy ---++ Ruler data types ---+++ <nop>VwScGam Environment for Below is just a temporary dump of gathered information. ---++ File layout | ARule | AG rules | | AttrProps | Direction of an attribute | ---++ Naming conventions | Wr | Wrapper (around expressions) | | Rw | Complex (non-variable) expressions | | Sc | Scheme | | Fm | Format (tex, ag, haskell, spec?,constr?) | | At | Attribute (i.e. parameters of a type scheme) | | Rn | Rename | ---++ Things | Constr | A Constr is an expression with a type (e \bar ty). Related to ECnstr and WrapConstr. ECnstr: Ty(=names)/Var/Empty| | AtProp | Properties of an attribute, such as Node, Thread, Retain, Extern, Inh, Syn. AtDir is an Alias for AtProp. | | Expr | A ruler expression (i.e. variables (Nm/ANm), applications, unique/retain) | | Sel | Dotted notation for sub/super/over script | ---++ Subversion revisions Some history: ---++++ SVN Revision 3 Ruler is only used for lhs2TeX generation. A ruler file consists of declarations of two types: judgements and rules. A judgement contains a JExpr which denotes the type of the judgement (more a syntactic check than a type check, because the Cnstr mechanism isn't introduced yet). The JExpr is the definition of the judgement. A rule constains a bunch of RExprs as preconditions (above the line) and postcondition (below the line). An RExpr is either the use of a judgement or a condition, where a condition is just a normal JExpr. Static analysis in this release amounts to verifying that all judgements are defined and that each use is syntactially correct (by unifying the definition of a judgment with a use-site of a judgement). Translation to LaTeX is straightforward in this revision: for each rule, create a latex version of a type scheme with pretty printed judgements below and above the line. ---++ SVN Revision 11,13,44 Only cosmetic changes. ---++ SVN Revision 55, 131 Some concept of aliasses was introduced (a predecessor of the "ag"-like attribute definition style) ---++ SVN Revision 157 Introduction of views. Addition of keywords scheme, rule and lets. No inheritance between views. I have the impression that in this revision the scheme should encapsulate all views, and that for each view then the judgements are taken that belong to this view (possibly controlled by "viewas" instructions). -- Main.ArieMiddelkoop - 17 Nov 2006