ADR-44: 文の区切りと複数行継続(F91)
判断: 文(束縛・premise メンバー・本体式)の区切りは改行とし、次の二形を前行の継続と 定める(設計者裁定・2026-07-09。ADR-41 の実体定義で右辺が長くなる実例が出た F91 の解消)。
- 括弧内の自由改行: 丸括弧
( )・角括弧[ ]が閉じていない間の改行は区切りにならない (テーブルリテラルの複数行は初期から実績——現行挙動の明文化)。 -
演算子による継続: 行末または行頭が段接続
|>または結合子|・&・\のとき、改行は 区切りにならない。文もメンバーも結合子では始まれないため一義(曖昧なし):sessionOpens = (am9 |> first) | (pm30 |> first |> filter(t => not coincides(halfDays, day, t)))継続は空行を跨いでも効く(段接続
|>の既存挙動と同じ扱いに揃える——非対称を作らない)。
却下した案:
- 継続記号(行末
\級)——結合子\と字面衝突・ノイズ。 - インデント法(オフサイドルール)——空白に意味論を持たせる複雑さは 1 行志向の本体層に不釣合い。
- 括弧内のみ(1 だけ)——パイプ列・カスケードの自然な折り返し(行頭
|>)を禁じる側に倒れ、 現行実装の挙動とも食い違う。
帰結: spec §5.5 に「文の区切りと継続」を追記(EBNF は改行を明示しないため字句節が置き場)。
リファレンス実装は結合子の行頭・行末継続を追補(|> は実装済みだった——実測で結合子だけが
構文エラーになる非対称を確認・解消)。draft §1.24 の実体例・reference の長い正準例が複数行で
書けるようになる。