# Value この章では、言語が扱う値の分類を定義する。 primitive type は、通常のデータ値ではなく、値が満たすべき組み込み制約として扱う。 ```dcdl name = String; retry = Int default 3; ratio = Float; enable = Bool default true; tags = [...String]; ``` 現在の primitive type は `String`、`Int`、`Float`、`Bool` である。 `Unknown` はprimitive typeではなく、すべてのDecodal値を含む最上位の抽象rangeである。具体値またはdefaultがない `Unknown` はmaterializeできない。 配列は primitive type ではなく、必須の要素制約を持つ `[...T]` で表現する。 各型の個別仕様へのリンクは [Manual Index](../../index.md) に集約する。 primitive type と制約合成の詳細は [制約と default](../constraints-and-defaults.md) も参照する。