1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Copyright 2024-2026 Jonathan Shook
// SPDX-License-Identifier: Apache-2.0
//! The Polydat node library: every function a program can call that
//! the compiler does not synthesize itself. Each node is a
//! `#[polydat_node]` function over the core's value model and
//! registers into the registry at link time, so linking this crate is
//! what makes its functions callable; a third-party node crate is
//! built the same way. The numeric bodies the native lowerings share
//! live in `polydat_core::numeric`, and the nodes here that have a
//! lowering are thin wrappers over them.
//!
//! `polydat` re-exports every module here under `polydat::library`,
//! beside the nodes the core keeps, at the paths they always had.
// The node macro emits `polydat::…` paths; here they resolve to the
// core, as they do inside the core itself.
extern crate polydat_core as polydat;