2026-01-27 17:48:26 +10:00
|
|
|
let
|
2026-01-28 13:52:54 +10:00
|
|
|
bootstrap = import ../nt/primitives/std;
|
|
|
|
|
|
|
|
|
|
mix = import ../nt/mix/bootstrap.nix {
|
|
|
|
|
this = bootstrap;
|
|
|
|
|
};
|
2026-01-27 17:48:26 +10:00
|
|
|
|
|
|
|
|
nt = import ../nt {
|
2026-01-28 13:52:54 +10:00
|
|
|
inherit mix;
|
2026-01-27 17:48:26 +10:00
|
|
|
# flake.nix passes `flake = inputs.self`
|
|
|
|
|
flake = builtins.getFlake ../.;
|
|
|
|
|
};
|
|
|
|
|
|
2026-01-28 13:52:54 +10:00
|
|
|
primitives = import ../nt/primitives {inherit mix;};
|
|
|
|
|
|
2026-01-27 17:48:26 +10:00
|
|
|
dummyTest = {
|
|
|
|
|
expr = 1;
|
|
|
|
|
expected = 1;
|
|
|
|
|
};
|
|
|
|
|
in {
|
|
|
|
|
testPass = dummyTest;
|
|
|
|
|
|
|
|
|
|
testMaybe = let
|
2026-01-28 13:52:54 +10:00
|
|
|
maybe-mod = import ./maybe.nix {this = primitives;};
|
2026-01-27 17:48:26 +10:00
|
|
|
|
|
|
|
|
inherit
|
|
|
|
|
(maybe-mod)
|
2026-01-28 09:15:49 +10:00
|
|
|
unwrapSome
|
2026-01-27 17:48:26 +10:00
|
|
|
Some
|
|
|
|
|
;
|
|
|
|
|
in {
|
|
|
|
|
expr = Some true;
|
|
|
|
|
expected = {
|
|
|
|
|
_''traps''_ = {
|
|
|
|
|
_'nt = {
|
|
|
|
|
derive = ["nt::&Maybe"];
|
|
|
|
|
instance = true;
|
|
|
|
|
ops = {
|
2026-01-28 09:15:49 +10:00
|
|
|
"nt::&Maybe".unwrap = unwrapSome;
|
2026-01-27 17:48:26 +10:00
|
|
|
};
|
|
|
|
|
req = {};
|
|
|
|
|
sig = "nt::Some";
|
|
|
|
|
};
|
|
|
|
|
_'ntDyn = {value = true;};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|