Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
3ffbb32
WIP: vivid-badger-729
briansrls Apr 26, 2026
31bfb72
WIP: vivid-badger-729
briansrls Apr 26, 2026
e335311
chore: apply cargo fmt
briansrls Apr 26, 2026
f0edd3a
WIP: vivid-badger-729
briansrls Apr 26, 2026
331c436
chore: apply cargo fmt
briansrls Apr 26, 2026
ca4084a
WIP: vivid-badger-729
briansrls Apr 26, 2026
4f8130b
WIP: vivid-badger-729
briansrls Apr 26, 2026
50fdc74
WIP: vivid-badger-729
briansrls Apr 26, 2026
b691688
chore: apply cargo fmt
briansrls Apr 26, 2026
0d37ada
WIP: vivid-badger-729
briansrls Apr 26, 2026
8f02992
WIP: vivid-badger-729
briansrls Apr 26, 2026
c20dc31
chore: apply cargo fmt
briansrls Apr 26, 2026
7964dae
Merge remote-tracking branch 'origin/main' into session/vivid-badger-729
briansrls Apr 26, 2026
33bf785
Merge remote-tracking branch 'origin/main' into session/vivid-badger-729
briansrls Apr 26, 2026
2e2851c
Merge remote-tracking branch 'origin/main' into session/vivid-badger-729
briansrls Apr 26, 2026
5a42fa3
WIP: vivid-badger-729
briansrls Apr 26, 2026
7a045c6
WIP: vivid-badger-729
briansrls Apr 26, 2026
911ba9d
chore: apply cargo fmt
briansrls Apr 26, 2026
2d50fb1
WIP: vivid-badger-729
briansrls Apr 26, 2026
7d195f5
chore: apply cargo fmt
briansrls Apr 26, 2026
6490452
WIP: vivid-badger-729
briansrls Apr 26, 2026
90fd100
WIP: vivid-badger-729
briansrls Apr 26, 2026
b5c2c2b
WIP: vivid-badger-729
briansrls Apr 26, 2026
e05bf26
WIP: vivid-badger-729
briansrls Apr 26, 2026
ca6b947
WIP: vivid-badger-729
briansrls Apr 26, 2026
0b1cdf2
WIP: vivid-badger-729
briansrls Apr 27, 2026
657471f
WIP: vivid-badger-729
briansrls Apr 27, 2026
3659127
Merge remote-tracking branch 'origin/main' into session/vivid-badger-729
briansrls Apr 27, 2026
28a51d6
WIP: vivid-badger-729
briansrls Apr 27, 2026
120cc87
WIP: vivid-badger-729
briansrls Apr 27, 2026
6c59e53
Merge remote-tracking branch 'origin/main' into session/vivid-badger-729
briansrls Apr 27, 2026
13b6def
WIP: vivid-badger-729
briansrls Apr 27, 2026
902f1b3
WIP: vivid-badger-729
briansrls Apr 27, 2026
be1a736
WIP: vivid-badger-729
briansrls Apr 27, 2026
bcdd0b8
WIP: vivid-badger-729
briansrls Apr 27, 2026
1519ed5
WIP: vivid-badger-729
briansrls Apr 27, 2026
83e848d
WIP: vivid-badger-729
briansrls Apr 27, 2026
26ad966
chore: apply cargo fmt
briansrls Apr 27, 2026
f095b05
WIP: vivid-badger-729
briansrls Apr 27, 2026
89b5e5b
WIP: vivid-badger-729
briansrls Apr 27, 2026
2ca4dc9
WIP: vivid-badger-729
briansrls Apr 27, 2026
17baffb
WIP: vivid-badger-729
briansrls Apr 27, 2026
97bf18d
chore: apply cargo fmt
briansrls Apr 27, 2026
efcd87e
docs(spec): clarify Go Result carrier vs v3intdiv prelude (M1)
briansrls Apr 27, 2026
bae9937
WIP: vivid-badger-729
briansrls Apr 27, 2026
1f4c442
docs(v3): clarify Result suppression, infer DAG mutation, Go M1 debt
briansrls Apr 27, 2026
852fc60
WIP: vivid-badger-729
briansrls Apr 27, 2026
9711332
WIP: valiant-lynx-650
briansrls Apr 27, 2026
5ac371a
Merge remote-tracking branch 'origin/main' into session/vivid-badger-729
briansrls Apr 27, 2026
24943ad
chore: apply cargo fmt
briansrls Apr 27, 2026
1e765a2
Merge remote-tracking branch 'origin/session/vivid-badger-729' into s…
briansrls Apr 27, 2026
9eeabd7
fix(v3): refresh division totality snapshots
briansrls Apr 27, 2026
95f3fe0
fix(v3): refresh generated int div prelude visibility
briansrls Apr 27, 2026
43cd006
docs(v3): correct Result authority references
briansrls Apr 27, 2026
84e3a39
fix(v3): print Rust Result top-level values safely
briansrls Apr 27, 2026
13c321b
Merge remote-tracking branch 'origin/session/vivid-badger-729' into s…
briansrls Apr 27, 2026
993b65c
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 27, 2026
d6debeb
fix(v3): gate Rust division result emission
briansrls Apr 27, 2026
d018a06
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 27, 2026
c683b67
chore(v3): track Python div prelude gate
briansrls Apr 27, 2026
4682440
fix: resolve PR-969 rustfmt + boundary test fixture issues
briansrls Apr 27, 2026
36a6bbb
fix: anchor division prelude lookups and gate Go/Python division prel…
briansrls Apr 27, 2026
7aa8ec6
WIP: valiant-lynx-650
briansrls Apr 27, 2026
91ce8fe
chore: apply cargo fmt
briansrls Apr 27, 2026
6fb6bcf
fix(v3): remove generated merge markers
briansrls Apr 27, 2026
051fd6b
WIP: valiant-lynx-650
briansrls Apr 27, 2026
528003e
chore: apply cargo fmt
briansrls Apr 27, 2026
93e32ef
WIP: valiant-lynx-650
briansrls Apr 27, 2026
7c57819
fix(v3): refresh std bootstrap cardinality snapshot
briansrls Apr 27, 2026
2640d94
fix(v3): compile shared division prelude gate
briansrls Apr 27, 2026
6cceef9
fix(v3): fail closed on Rust DivError prelude collision
briansrls Apr 27, 2026
b1996a7
WIP: valiant-lynx-650
briansrls Apr 27, 2026
d8e0d2a
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 27, 2026
2fa4de4
WIP: valiant-lynx-650
briansrls Apr 27, 2026
79da63b
WIP: valiant-lynx-650
briansrls Apr 27, 2026
81619c5
WIP: valiant-lynx-650
briansrls Apr 27, 2026
019f59d
fix(v3): fail closed division carrier collisions
briansrls Apr 27, 2026
29e1678
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 27, 2026
bddf0a6
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 27, 2026
9241aea
WIP: valiant-lynx-650
briansrls Apr 27, 2026
c6cea10
WIP: valiant-lynx-650
briansrls Apr 27, 2026
ab9c851
WIP: valiant-lynx-650
briansrls Apr 27, 2026
756f34a
chore: apply cargo fmt
briansrls Apr 27, 2026
2cb824c
ci: avoid target cache in v2 self-compile gate
briansrls Apr 27, 2026
6c3d5ec
WIP: valiant-lynx-650
briansrls Apr 27, 2026
2e33a52
WIP: valiant-lynx-650
briansrls Apr 27, 2026
c49d791
WIP: valiant-lynx-650
briansrls Apr 27, 2026
78d1a8f
WIP: valiant-lynx-650
briansrls Apr 27, 2026
34268ea
WIP: valiant-lynx-650
briansrls Apr 27, 2026
6eda4d3
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 27, 2026
eeee2a0
chore: apply cargo fmt
briansrls Apr 27, 2026
61babca
WIP: valiant-lynx-650
briansrls Apr 27, 2026
bf7eb35
WIP: valiant-lynx-650
briansrls Apr 27, 2026
7d836e5
WIP: valiant-lynx-650
briansrls Apr 27, 2026
65228f5
WIP: valiant-lynx-650
briansrls Apr 27, 2026
94de338
WIP: valiant-lynx-650
briansrls Apr 27, 2026
8cf0da1
fix v3 source filtering path normalization
briansrls Apr 27, 2026
616aea5
fix v3 source filtering for absolute fixtures
briansrls Apr 27, 2026
8f0c0ae
isolate v2 ci pass2 rebuild target
briansrls Apr 27, 2026
4846ebd
WIP: valiant-lynx-650
briansrls Apr 27, 2026
859016c
WIP: valiant-lynx-650
briansrls Apr 27, 2026
c2ee284
WIP: valiant-lynx-650
briansrls Apr 27, 2026
0865888
WIP: valiant-lynx-650
briansrls Apr 27, 2026
4bffcb2
WIP: valiant-lynx-650
briansrls Apr 27, 2026
5d23999
WIP: valiant-lynx-650
briansrls Apr 27, 2026
223a404
WIP: valiant-lynx-650
briansrls Apr 27, 2026
2375242
WIP: valiant-lynx-650
briansrls Apr 27, 2026
67094e8
WIP: valiant-lynx-650
briansrls Apr 27, 2026
ea05846
WIP: valiant-lynx-650
briansrls Apr 27, 2026
c53d0f2
WIP: valiant-lynx-650
briansrls Apr 27, 2026
a8b65d6
WIP: valiant-lynx-650
briansrls Apr 27, 2026
9167e7d
WIP: valiant-lynx-650
briansrls Apr 27, 2026
32c2dd6
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 27, 2026
b4a06f2
refresh parse corpus manifest after main merge
briansrls Apr 27, 2026
e5ed617
WIP: valiant-lynx-650
briansrls Apr 27, 2026
d342edd
fix go division overflow prelude test
briansrls Apr 27, 2026
179c72c
WIP: valiant-lynx-650
briansrls Apr 27, 2026
b483d81
chore: apply cargo fmt
briansrls Apr 27, 2026
260fb03
WIP: valiant-lynx-650
briansrls Apr 27, 2026
de34e3e
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 27, 2026
02fca30
WIP: valiant-lynx-650
briansrls Apr 27, 2026
c390967
WIP: valiant-lynx-650
briansrls Apr 28, 2026
03d0995
WIP: valiant-lynx-650
briansrls Apr 28, 2026
68a12ca
WIP: valiant-lynx-650
briansrls Apr 28, 2026
53d3edc
WIP: valiant-lynx-650
briansrls Apr 28, 2026
07a96e0
WIP: valiant-lynx-650
briansrls Apr 28, 2026
2e2a59b
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 28, 2026
d866808
Merge remote-tracking branch 'origin/main' into subsume/pr-931
briansrls Apr 28, 2026
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
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ jobs:
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('src/v2/stage0/src/**') }}
restore-keys: |
cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-
Expand Down
4 changes: 3 additions & 1 deletion dsl/std/algebra.dag
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@

module std.algebra

import std.error_primitives { DivError, Result }

// =========================================================================
// Unary structures (single operation)
// =========================================================================
Expand Down Expand Up @@ -179,7 +181,7 @@ type OrderedRing<T> {
zero: T
negate: fn(T) -> T
mul: fn(T, T) -> T
div: fn(T, T) -> T
div: fn(T, T) -> Result<T, DivError>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BLOCKING: M9/modeling faithfulness: generic OrderedRing.div now returns the signed-Int-specific DivError, so every OrderedRing inhabitant inherits Int overflow semantics that the algebra itself does not define.

one: T
compare: fn(T, T) -> Ordering
quotient: fn(T, T) -> T
Expand Down
18 changes: 18 additions & 0 deletions dsl/std/error_primitives.dag
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// std/error_primitives.dag — minimal error carriers with **no** dependency on
// `Int` / `String` / other `std.types` surface, so this module can load in the
// v3 std bootstrap seed *before* `algebra.dag` (which needs `Result` / `DivError`
// for `OrderedRing.div`).

module std.error_primitives

// 🟡 STRUCTURAL-CARRIER: algebraic Result sum for fallible std operations
// (e.g. `OrderedRing.div` totality). It is substrate-owned until target
// realizations can consume this declaration directly instead of filtering it
// from emitted std surfaces and reintroducing per-target carriers.
type Result<ok, err> = Ok { value: ok } | Err { value: err }

// 🟡 STRUCTURAL-CARRIER: signed integer division (`Int / Int`) failure modes
// (C-8): zero divisor vs MIN / -1 signed overflow. The target preludes mirror
// this declaration until `std.error_primitives` is emitted through the normal
// filtered-type path.
type DivError = DivideByZero | Overflow
1 change: 1 addition & 0 deletions src/v2/02_parse.dag
Original file line number Diff line number Diff line change
Expand Up @@ -1278,6 +1278,7 @@ fn parse_type_after_kw(tokens: List<Token>, ctx: ParseContext, start_span: Sourc
let type_params = type_params_result.params
let tokens = skip_newlines(tokens: type_params_result.tokens)
let ctx = type_params_result.ctx
let tokens = type_body_tokens_after_modifiers(tokens: tokens)

// Record type: type Name { fields }
match eat(tokens: tokens, expected: ExpectLBrace) {
Expand Down
4 changes: 2 additions & 2 deletions src/v2/03_resolve.dag
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ fn topological_sort(modules: List<Node>, source_indices: Map<String, NewlineInde
modules |> flat_map(m =>
let m_name = authored_name_at(source_indices: source_indices, node: m)
let imports_std_types = module_imports(n: m) |> any(imp => authored_name_at(source_indices: source_indices, node: imp) == "std.types")
if m_name != "std.types" && m_name != "std.algebra" && imports_std_types == false {
if m_name != "std.types" && m_name != "std.algebra" && m_name != "std.error_primitives" && imports_std_types == false {
[DepEdge { from_module: "std.types", to_module: m_name }]
} else {
[]
Expand All @@ -368,7 +368,7 @@ fn topological_sort(modules: List<Node>, source_indices: Map<String, NewlineInde
let in_degree_map = modules |> fold(init: empty_map(), f: (acc, m) =>
let m_name = authored_name_at(source_indices: source_indices, node: m)
let imports_std_types = module_imports(n: m) |> any(imp => authored_name_at(source_indices: source_indices, node: imp) == "std.types")
let implicit_std_types_in_degree = if has_std_types && m_name != "std.types" && m_name != "std.algebra" && imports_std_types == false { 1 } else { 0 }
let implicit_std_types_in_degree = if has_std_types && m_name != "std.types" && m_name != "std.algebra" && m_name != "std.error_primitives" && imports_std_types == false { 1 } else { 0 }
map_insert(acc, m_name, module_imports(n: m) |> count + implicit_std_types_in_degree)
)

Expand Down
9 changes: 6 additions & 3 deletions src/v2/05_emit_rust.dag
Original file line number Diff line number Diff line change
Expand Up @@ -666,11 +666,11 @@ fn emit_module_full(typed_module: TypedModule, registry: Map<String, ItemInfo>,
)
let svc_imports_str = if extern_svc_imports |> count == 0 { "" }
else { concat("\n", extern_svc_imports |> join(separator: "\n")) }
// RC1: For enums defined in this module, add `use EnumName::*;` so
// RC1: For enums defined in this module, add `use self::EnumName::*;` so
// variant names are in scope without qualification.
let local_enum_uses = typed_module.items
|> filter(item => is_type_def_item(item: item) && is_coproduct_type(n: item))
|> map(item => concat("use ", authored_name(env: scope.type_env, node: item), "::*;"))
|> map(item => concat("use self::", authored_name(env: scope.type_env, node: item), "::*;"))
let local_uses_str = if local_enum_uses |> count == 0 { "" }
else { concat("\n", local_enum_uses |> join(separator: "\n")) }
// Wire contract: find the module's wire_contract data item (if any)
Expand All @@ -682,9 +682,12 @@ fn emit_module_full(typed_module: TypedModule, registry: Map<String, ItemInfo>,
let raw_filename = module_to_filename(name: authored_name(env: scope.type_env, node: m))
// Avoid collision with the CLI entry point (src/main.rs)
let filename = if raw_filename == "main" { "main_mod" } else { raw_filename }
let module_attrs = if authored_name(env: scope.type_env, node: m) == "std.error_primitives" {
"#![allow(non_camel_case_types)]\n\n"
} else { "" }
let content = concat("// Generated by v2 compiler -- do not edit.\n",
"// Source module: ", authored_name(env: scope.type_env, node: m), "\n\n",
prelude, imports_section, svc_imports_str, local_uses_str, "\n\n",
module_attrs, prelude, imports_section, svc_imports_str, local_uses_str, "\n\n",
items_str, "\n")
TextFile { path: concat(rust_source_root(), filename, rust_source_ext()), content: content }
}
Expand Down
1 change: 1 addition & 0 deletions src/v2/compiler_tests_rust.dag
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ fn ct_gist_sources() -> String {
" \"dsl/extdeps/github/github.dag\",\n",
" \"dsl/gunbc/auth/credentials.dag\",\n",
" \"dsl/gunbc/tools/gist.dag\",\n",
" \"dsl/std/error_primitives.dag\",\n",
" \"dsl/std/algebra.dag\",\n",
" \"dsl/std/encoding.dag\",\n",
" \"dsl/std/errors.dag\",\n",
Expand Down
1 change: 1 addition & 0 deletions src/v2/stage0/src/compiler_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ mod compiler_tests {
"dsl/extdeps/github/github.dag",
"dsl/gunbc/auth/credentials.dag",
"dsl/gunbc/tools/gist.dag",
"dsl/std/error_primitives.dag",
"dsl/std/algebra.dag",
"dsl/std/encoding.dag",
"dsl/std/errors.dag",
Expand Down
2 changes: 1 addition & 1 deletion src/v2/stage0/src/extdeps_languages_python_types.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// Generated by v2 compiler -- do not edit.
// Source module: extdeps.languages.python.types

use self::PythonTypeKind::*;
pub use crate::std_coercion::{CallableRepr, CastSyntax, InhabitantDecl, TypeCheckpoint};
use crate::v2_rt;
use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use PythonTypeKind::*;

pub fn python_type_checkpoints() -> Rc<Vec<Rc<TypeCheckpoint>>> {
thread_local! {
Expand Down
4 changes: 2 additions & 2 deletions src/v2/stage0/src/extdeps_languages_rust_types.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// Generated by v2 compiler -- do not edit.
// Source module: extdeps.languages.rust.types

use self::OwnershipKind::*;
use self::SmartPointerKind::*;
pub use crate::std_coercion::{CallableRepr, CastRule, CastSyntax, InhabitantDecl, TypeCheckpoint};
use crate::v2_rt;
use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use OwnershipKind::*;
use SmartPointerKind::*;

pub fn rust_type_checkpoints() -> Rc<Vec<Rc<TypeCheckpoint>>> {
thread_local! {
Expand Down
1 change: 1 addition & 0 deletions src/v2/stage0/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ pub mod std_algebra;
pub mod std_coercion;
pub mod std_computation;
pub mod std_effects;
pub mod std_error_primitives;
pub mod std_graph;
pub mod std_http_path;
pub mod std_induction;
Expand Down
17 changes: 10 additions & 7 deletions src/v2/stage0/src/std_algebra.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.algebra

use self::AlgebraProfile::*;
use self::AlgebraTypeTemplate::*;
use self::CollectionSizeEffect::*;
use self::ContainerSource::*;
use self::CostShape::*;
use self::Ordering::*;
use crate::std_error_primitives::DivError::*;
use crate::std_error_primitives::Result::*;
pub use crate::std_error_primitives::{DivError, Result};
use crate::v2_rt;
use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use AlgebraProfile::*;
use AlgebraTypeTemplate::*;
use CollectionSizeEffect::*;
use ContainerSource::*;
use CostShape::*;
use Ordering::*;

#[derive(Clone)]
pub struct Magma<T> {
Expand Down Expand Up @@ -73,7 +76,7 @@ pub struct OrderedRing<T> {
pub zero: Box<T>,
pub negate: Rc<dyn Fn(T) -> T>,
pub mul: Rc<dyn Fn(T, T) -> T>,
pub div: Rc<dyn Fn(T, T) -> T>,
pub div: Rc<dyn Fn(T, T) -> Rc<Result<T, DivError>>>,
pub one: Box<T>,
pub compare: Rc<dyn Fn(T, T) -> Ordering>,
pub quotient: Rc<dyn Fn(T, T) -> T>,
Expand Down
10 changes: 5 additions & 5 deletions src/v2/stage0/src/std_computation.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.computation

use self::CallPattern::*;
use self::IterationDimension::*;
use self::IterationPrimitive::*;
use self::ShrinkFactor::*;
use self::SizeBound::*;
use crate::std_algebra::AlgebraProfile::{
ApproximateFieldProfile, BooleanAlgebraCollectionProfile, BooleanAlgebraProfile,
FreeMonoidCollectionProfile, FreeMonoidScalarProfile, OrderedRingProfile,
Expand All @@ -19,11 +24,6 @@ use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use CallPattern::*;
use IterationDimension::*;
use IterationPrimitive::*;
use ShrinkFactor::*;
use SizeBound::*;

#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "_variant")]
Expand Down
10 changes: 5 additions & 5 deletions src/v2/stage0/src/std_effects.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.effects

use self::DeriveOpEffectResult::*;
use self::EffectShape::*;
use self::IdempotencyEvidence::*;
use self::KeySource::*;
use self::ModifierAgreement::*;
use crate::std_http_path::PathTemplateParseResult::{MalformedPathTemplate, ParsedPathTemplate};
pub use crate::std_http_path::{
has_path_params, last_path_param, parse_path_template, PathTemplate, PathTemplateParseResult,
Expand All @@ -12,11 +17,6 @@ use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use DeriveOpEffectResult::*;
use EffectShape::*;
use IdempotencyEvidence::*;
use KeySource::*;
use ModifierAgreement::*;

#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "_variant")]
Expand Down
26 changes: 26 additions & 0 deletions src/v2/stage0/src/std_error_primitives.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.error_primitives

#![allow(non_camel_case_types)]

use self::DivError::*;
use self::Result::*;
use crate::v2_rt;
use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;

#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "_variant")]
pub enum Result<ok, err> {
Ok { value: Box<ok> },
Err { value: Box<err> },
}

#[derive(Debug, Clone, Copy, PartialEq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "_variant")]
pub enum DivError {
DivideByZero,
Overflow,
}
6 changes: 3 additions & 3 deletions src/v2/stage0/src/std_http_path.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.http_path

use self::PathSegmentTokensResult::*;
use self::PathTemplateParseResult::*;
use self::UrlPathToken::*;
use crate::v2_rt;
use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use PathSegmentTokensResult::*;
use PathTemplateParseResult::*;
use UrlPathToken::*;

#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "_variant")]
Expand Down
10 changes: 5 additions & 5 deletions src/v2/stage0/src/std_induction.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.induction

use self::AtomicCost::*;
use self::CostBound::*;
use self::PolynomialExponent::*;
use self::RecursionShape::*;
use self::SubValueRelation::*;
use crate::std_computation::CallPattern::{
ArithmeticDivideCall, ArithmeticSubtractCall, ChildAccessorCall, FoldBodyCall, SameArgumentCall,
};
Expand All @@ -25,11 +30,6 @@ use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use AtomicCost::*;
use CostBound::*;
use PolynomialExponent::*;
use RecursionShape::*;
use SubValueRelation::*;

#[derive(Debug, Clone, Copy, PartialEq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "_variant")]
Expand Down
10 changes: 5 additions & 5 deletions src/v2/stage0/src/std_syntax.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.syntax

use self::AlgebraFieldKind::*;
use self::BinOp::*;
use self::BodyKind::*;
use self::ItemFormKind::*;
use self::LiteralValue::*;
use crate::v2_rt;
use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use AlgebraFieldKind::*;
use BinOp::*;
use BodyKind::*;
use ItemFormKind::*;
use LiteralValue::*;

#[derive(Debug, Clone, Copy, PartialEq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "_variant")]
Expand Down
10 changes: 5 additions & 5 deletions src/v2/stage0/src/std_termination.rs
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.termination

use self::DescentEvidence::*;
use self::DescentSource::*;
use self::PositiveDescentAmount::*;
use self::ProportionalDivisor::*;
use self::RankingDimension::*;
pub use crate::std_algebra::Ordering;
use crate::std_algebra::Ordering::*;
use crate::v2_rt;
use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use DescentEvidence::*;
use DescentSource::*;
use PositiveDescentAmount::*;
use ProportionalDivisor::*;
use RankingDimension::*;

#[derive(Debug, Clone, Copy, PartialEq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "_variant")]
Expand Down
32 changes: 16 additions & 16 deletions src/v2/stage0/src/std_types.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
// Generated by v2 compiler -- do not edit.
// Source module: std.types

use self::AbiEnv::*;
use self::Arch::*;
use self::AuthScheme::*;
use self::Bool::*;
use self::CodegenBackend::*;
use self::CredentialFlow::*;
use self::DocSourceKind::*;
use self::EntryKind::*;
use self::ExecutionEnv::*;
use self::FermiDepth::*;
use self::HttpMethod::*;
use self::Os::*;
use self::Platform::*;
use self::SymlinkTarget::*;
use self::TopologyNodeKind::*;
use self::Vendor::*;
pub use crate::std_algebra::{
algebra_type_param_names, kernel_algebra_profile, BooleanAlgebra, FreeMonoid, PartialFunction,
};
Expand All @@ -9,22 +25,6 @@ use crate::NonEmptyBTreeSet;
use crate::NonEmptyVec;
use std::collections::HashMap;
use std::rc::Rc;
use AbiEnv::*;
use Arch::*;
use AuthScheme::*;
use Bool::*;
use CodegenBackend::*;
use CredentialFlow::*;
use DocSourceKind::*;
use EntryKind::*;
use ExecutionEnv::*;
use FermiDepth::*;
use HttpMethod::*;
use Os::*;
use Platform::*;
use SymlinkTarget::*;
use TopologyNodeKind::*;
use Vendor::*;

pub fn kernel_type_set() -> Rc<HashMap<String, bool>> {
thread_local! {
Expand Down
Loading
Loading