tvl-depot/tvix
Adam Joseph 325a7d6fa9 test(tvix/eval): add eval-okay-closure-pointer-compare
This test case checks two things:

* A sanity check that "pointer equality for functions" means not
  just the lambda, but also the upvalues.

* To be pointer-equal, it is not enough for the upvalues to be
  normal-form equal (i.e. `nix_eq()`-equal); the upvalues must be
  *pointer*-equal.  The second part of the test case checks for
  this.

Signed-off-by: Adam Joseph <adam@westernsemico.com>
Change-Id: I4e59327a6f199b8212e97197b212e3c3934bb3f0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7372
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-11-25 00:48:31 +00:00
..
.vscode chore(tvix): fix vscode rust-analyzer recommendation 2022-10-15 16:54:28 +00:00
docs docs(tvix): Update components.md 2022-09-16 11:55:57 +00:00
eval test(tvix/eval): add eval-okay-closure-pointer-compare 2022-11-25 00:48:31 +00:00
nix_cli feat(tvix/eval): move shell.nix and .envrc to //tvix 2022-11-11 19:55:12 +00:00
proto chore(tvix/proto/castore.proto) rename *Node.{ref->digest} 2022-11-08 17:57:53 +00:00
verify-lang-tests test(tvix/eval): add a test case for groupBy with thunks 2022-11-04 01:46:27 +00:00
.envrc feat(tvix/eval): move shell.nix and .envrc to //tvix 2022-11-11 19:55:12 +00:00
.gitignore feat(tvix/): .gitignore target folders 2022-11-11 19:55:12 +00:00
LICENSE chore(tvix): Bootstrap Tvix folder 2021-03-27 00:09:49 +00:00
OWNERS chore(gerrit): migrate OWNERS files to code-owners style 2022-09-19 11:13:28 +00:00
README.md chore(tvix): Bootstrap Tvix folder 2021-03-27 00:09:49 +00:00
shell.nix feat(tvix/eval): move shell.nix and .envrc to //tvix 2022-11-11 19:55:12 +00:00

Tvix

For more information about Tvix, contact one of the project owners. We are interested in people who would like to help us review designs, brainstorm and describe requirements that we may not yet have considered.

License structure

All code implemented for Tvix is licensed under the GPL-3.0, with the exception of the protocol buffer definitions used for communication between services which are available under a more permissive license (MIT).

The idea behind this structure is that any direct usage of our code (e.g. linking to it, embedding the evaluator, etc.) will fall under the terms of the GPL3, but users are free to implement their own components speaking these protocols under the terms of the MIT license.