Matra Specification v0.2

意味より先に、構造を書く。

Matraは、tag・props・childrenからなるツリーを記述するための、小さくドメイン非依存な言語です。

SOURCE hello.matra
group[role="list"] {
  item { "one" }
  item { "two" }
}
AST { tag, props, children }

One language, many domains

構造は共通。意味は交換可能。

01

Domain neutral

HTML、数式、Graphics。tagの意味はrendererが決めます。

02

Two representations

交換用のMatraJSONと、操作しやすいobject形式ASTを往復できます。

03

Replaceable parser

parserは小さな契約。文法エンジンとdomain実装を切り離します。

The foundation

4つの仕様から始める

  1. 01 Data Model
  2. 02 AST
  3. 03 Grammar
  4. 04 Parser