about summary refs log tree commit diff
path: root/tvix/docs/value-pointer-equality.md (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-03-03 r/7645 feat(tvix/docs): switch to mdbookFlorian Klink1-338/+0
Some of the docs are still outdated (like architecture and drv path inconsistencies). Change-Id: I7a6afceb008ef4cd19a764dd6c637b39fa842a2e Reviewed-on: https://cl.tvl.fyi/c/depot/+/11072 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
2023-07-11 r/6405 docs(tvix): document when pointer equality is preserved in C++ Nixsterni1-1/+130
This explicitly documents behavior of C++ Nix that goes against the intuition you'd gather from this document: that e.g. a simple select from an attribute set causes a value to no longer be pointer equal to its former self. The point of documenting this is that we can show in a to be written section on the use of pointer equality in nixpkgs that pointer equality is only needed in a limited sense for evaluating it (C++ Nix's exterior pointer equality). Tvix's pointer equality is far more powerful since value identity preserving operations also preserve pointer equality, generally speaking (this is because we implement interior pointer equality in my made up terminology). This should eventually also be documented. Change-Id: I6ce7ef2d67b012f5ebc92f9e81bba33fb9dce7d0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8856 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su>
2023-07-01 r/6380 docs(tvix): update C++ Nix code links for pointer equalitysterni1-5/+6
Change-Id: Icfd79b36c09607b4183e7378cd3c17f6238297b2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8853 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-07-01 r/6379 docs(tvix): start restructuring pointer equality documentsterni1-20/+26
I want to expand on the C++ Nix behavior, since it seems relevant to note that a lot of operations in C++ Nix (like select) don't preserve pointer equality (see <https://github.com/NixOS/nix/issues/3371#issuecomment-1596167957>). It is especially so, as Tvix establishes pointer equality in a different way and thus shows differing behavior. Therefore I want to additionally document Tvix's current behavior and make it more explicit to what extent nixpkgs needs pointer equality. Change-Id: I9b4ba75dacb749c9fcbba4b9646c6b48bb57bbad Reviewed-on: https://cl.tvl.fyi/c/depot/+/8852 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-01-25 r/5759 docs(tvix): fix minor spelling problems in pointer equality documentsterni1-4/+4
Main one is the its-it's mistake in the last paragraph, the rest was suggested by LanguageTool. Change-Id: If1b87a11f480452f312fc2759be7ded782d0a522 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7930 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-11-25 r/5317 docs(tvix): document pointer equality in (C++) Nixsterni1-0/+202
semi-obscure = #nix-lang on freenode Change-Id: Id235f7019bbee137bbde57a552c755261e23b58f Reviewed-on: https://cl.tvl.fyi/c/depot/+/7368 Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: Adam Joseph <adam@westernsemico.com> Tested-by: BuildkiteCI