Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 27 additions & 5 deletions dsl/std/methods.dag
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,37 @@
// `DeclarationRef` per #1175 substrate gap) has a real authority
// target.
//
// Scope (Director-locked option A on parent inbox #1130):
// Scope (Director-locked option A on parent inbox #1130; target-only
// classification opened on the same inbox per #1549 Gap 1 / R3 dispatch):
// - Full union of unique method names across the seven
// `dsl/std/algebra.dag` per-profile template lists
// (`ordered_ring_templates`, `approximate_field_templates`,
// `boolean_algebra_templates`, `boolean_algebra_collection_templates`,
// `free_monoid_scalar_templates`, `free_monoid_collection_templates`,
// `partial_function_templates`). 63 unique names. The registry IS
// the closed-system namespace authority for every algebra-template
// method name; not a demand-shaped subset for the first Grounding
// consumer.
// `partial_function_templates`). 63 names from algebra. The registry
// IS the closed-system namespace authority for every
// algebra-template method name; not a demand-shaped subset for the
// first Grounding consumer.
// - Legacy v2 emit-map aliases. v2's emit pipeline keys
// `dsl/extdeps/languages/{python,go}/emit.dag` by bare method-name
// string. When two algebra profiles inhabit the same name with
// different render shapes, v2 disambiguates by minting a separate
// legacy key (e.g. `string_contains` vs `contains`). The algebra
// authority itself does NOT split: `dsl/std/algebra.dag` declares
// `contains` once on `free_monoid_scalar_templates` (String
// substring test) and once on `*_collection_templates` /
// `boolean_algebra_*` (element/key membership) under the same
// method name; the algebra-profile coordinate carries the
// disambiguation. To give the legacy aliases a `MethodRef` row key
// until v2 retires its bare-string lookup, those aliases live
// here as additional `MethodDeclaration` bindings. `string_contains`
// (rendered as `{arg} in {recv}` / `strings.Contains({recv}, {arg})`)
// is the first such entry. Dissolution trigger: when v2 emit
// migrates to algebra-profile-keyed method dispatch (PB projection
// scope, #1549 audit Recommendations §3-§4 / R3 Method-template
// consumer migration debt row), legacy alias bindings collapse
// back into algebra-typed `contains` dispatch and these entries
// can be deleted alongside the per-target legacy emit maps.
// - Flat name-only namespace (Director-locked option A on Q2):
// `join` / `length` / `contains` / `map` / `fold` / etc. each
// appear once, regardless of how many algebra profiles inhabit
Expand Down Expand Up @@ -118,6 +139,7 @@ data skip_method: MethodDeclaration = { name: "skip" }
data sort_by_method: MethodDeclaration = { name: "sort_by" }
data split_method: MethodDeclaration = { name: "split" }
data starts_with_method: MethodDeclaration = { name: "starts_with" }
data string_contains_method: MethodDeclaration = { name: "string_contains" }
data substring_method: MethodDeclaration = { name: "substring" }
data take_method: MethodDeclaration = { name: "take" }
data to_int_method: MethodDeclaration = { name: "to_int" }
Expand Down
13,304 changes: 6,697 additions & 6,607 deletions src/v3/compiler/src/bootstrap_generated.rs

Large diffs are not rendered by default.

12,498 changes: 6,294 additions & 6,204 deletions src/v3/compiler/src/bootstrap_generated_without_parse_surface.rs

Large diffs are not rendered by default.

Loading
Loading