code wiki / (root) / nx_atlas_dedup.nx

nx_atlas_dedup.nx source

↩ module page · 33 lines · 1169 B

1// nx_atlas_dedup.nx -- atlas-hygiene SYNTACTIC DEDUP primitive (blueprint Layer A / F261). 2// Two content hashes: identical -> COLLAPSE (exit 5, duplicate nodes must merge); different -> KEEP 3// (exit 0). The atomic op the tri-layer dedup scan composes. Zero side effects. license_tier: ORIGINAL expect_exit: 0 4import "nx_syscalls.nx" 5func ad_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } 6func ad_streq(a: *u8, b: *u8) -> i64 { 7 var i: i64 = 0 8 while a[i] != (0 as u8) { 9 if a[i] != b[i] { return 0 } 10 i = i + 1 11 } 12 if b[i] != (0 as u8) { return 0 } 13 return 1 14} 15func main(argc: i64, argv: *i64) -> i64 { 16 if argc < 3 { 17 sys_write(1, "ATLASDEDUP ERR need hashA hashB\n" as *u8, 32) 18 sys_exit(2) 19 return 2 20 } 21 let a: *u8 = argv[1] as *u8 22 let b: *u8 = argv[2] as *u8 23 if ad_streq(a, b) == 1 { 24 sys_write(1, "ATLASDEDUP COLLAPSE dup hash=" as *u8, 29) 25 sys_write(1, a, ad_slen(a)) 26 sys_write(1, "\n" as *u8, 1) 27 sys_exit(5) 28 return 5 29 } 30 sys_write(1, "ATLASDEDUP KEEP distinct\n" as *u8, 25) 31 sys_exit(0) 32 return 0 33}