From 6545f6d916010dd542a35ffbefc07ba564c186b3 Mon Sep 17 00:00:00 2001 From: Emile Clark-Boman Date: Tue, 27 Jan 2026 11:13:07 +1000 Subject: [PATCH] add explainer of types --- nt/primitives/bootstrap/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nt/primitives/bootstrap/README.md b/nt/primitives/bootstrap/README.md index 06e3f56..8c61757 100644 --- a/nt/primitives/bootstrap/README.md +++ b/nt/primitives/bootstrap/README.md @@ -1,3 +1,11 @@ +## Types of Types +This is the convention I personally use when referring to types: +- **Primitive Types:** The base types Nix provides, accessible via `builtins.typeOf` +- **Naive Types:** An attempt at constructing a **non-primitive type** without using NixTypes. + nixpkgs.lib makes use of naive types, and so does the bootstrapping process for NixTypes. + A common example is `result = success: value: { inherit success value; }`. +- **Types / NT Types:** Any type provided by or compatible with the NixTypes standard + ## /nt/primitives/bootstrap **None of these functions/types/etc are exported for users of NixTypes!** So they should remain as simple and minimal as possible to avoid extra work maintaining.