Matra Specification v0.2

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

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

hello.matra
group(
  item("one"),
  item("two"),
  role="list"
)
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. 01Data Model
  2. 02AST
  3. 03Grammar
  4. 04Parser