Support some, ok and err wrappers and untyped function inputs

Track the LScript changes since the grammar was first written:

- some, ok and err are reserved prefix operators and wrapper patterns;
  the old |.some/|.ok/|.err forms and postfix/prefix ! are rejected
- function literal inputs may omit their type annotation, and tuple
  components may omit theirs; an empty typed tuple pattern is now just
  the unit pattern
- migrate fixtures, corpus, queries, CST contract and Rust tests

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
paulandClaude Sonnet 5.5 committed 2026-10-18 14:54:48 -04:00
1 parent 6e4f9cd65a
commit 61ea7166e3
20 files changed
+36187 -35406

No files matched your search

-1
View File
@@ -1 +0,0 @@
identity :: @ value { value }
+1
View File
@@ -0,0 +1 @@
value :: @ x: i32 -> i32 ! str { x! }
+1
View File
@@ -0,0 +1 @@
value :: @ x: str -> i32 ! str { !x }
+1
View File
@@ -0,0 +1 @@
ok :: @ value { value }
+1
View File
@@ -0,0 +1 @@
some := 1
+1
View File
@@ -0,0 +1 @@
value: i32?: 1->|.some
+1
View File
@@ -0,0 +1 @@
value :: @ x: i32? { match x { |.some y => y; nil => 0 } }