before
func = fun x y do return x + y; end;
obj = { a = b; c = d; };
list = [ a b c ];
map = %[ a -> b; c -> d; ];
# line comment
// line comment
after
func = fun x y { return x + y; };
obj = { a = b; c = d; }
list = $[ a b c ];
map = %[ a -> b; c -> d; ];
set = #[ a b c ];
#! shebang
// line comment
キモ
- end の後に ";" が来る可能性があるのは匿名関数だけなので、do 〜 end ではなく { 〜 } を使ってその他の構文と合わせる
- リスト表記とインデクサが競合していたので、リスト表記を $[ 〜 ] に修正
- マップ表記はそのまま
- ついでなのでセット表記も追加。
- オブジェクト表記はそのまま
- 1行コメントはセット表記に取られたので、shebang 用に "#!" の行のみコメントアウトすることに
- "//" でのコメントは従来どおり使用可能
- リストとマップとセットは [ 〜 ] で統一
- 関数とオブジェクトは { 〜 } で統一。どちらも内部に文が書けます