depot/tvix/eval/src/value/function.rs, branch refs/r/8092 monorepo for the virus lounge http://code.tvl.fyi/depot/atom?h=refs%2Fr%2F8092 2024-01-25T11:37:35+00:00 feat(tvix/eval): track pattern binding names 2024-01-25T11:37:35+00:00 Florian Klink flokli@flokli.de 2024-01-23T13:34:38+00:00 urn:sha1:023e372583b7bcc71b5c301c49501cc72204068f These need to be preserved at least for builtins.toXML. Also, we incorrectly only wrote an <attrspat> in case ellipsis was true, but that's not the case. Change-Id: I6bff9c47c2922f878d5c43e48280cda9c9ddb692 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10686 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: aspen <root@gws.fyi> fix(tvix/eval/value/function): use BTreeMap for function arg names 2024-01-24T14:00:44+00:00 Florian Klink flokli@flokli.de 2024-01-23T12:54:27+00:00 urn:sha1:e1d25891638597b0085033fd99814fce83fab4b9 At least toXML wants to get these out in a sorted fashion. Change-Id: I6373d7488fff7c40dc2ddeeecd03ba537c92c4af Reviewed-on: https://cl.tvl.fyi/c/depot/+/10685 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI docs(tvix/eval): fix some broken docstr references 2023-09-22T09:14:33+00:00 Florian Klink flokli@flokli.de 2023-09-21T21:57:20+00:00 urn:sha1:731996fbfe5947190443ed70385632a7f9e07e06 There's some more left, but they've been renamed/refactored out of sight. Change-Id: I41579dedc74342b4c5f8cb39d2995b5b0c90b0f4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9372 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> fix(tvix/eval): fix current clippy warnings 2022-12-25T18:25:06+00:00 Vincent Ambo mail@tazj.in 2022-12-20T14:22:56+00:00 urn:sha1:71174f6626cbf100a8428ddc334681e4edfb45e6 It's been a while since the last time, so quite a lot of stuff has accumulated here. Change-Id: I0762827c197b30a917ff470fd8ae8f220f6ba247 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7597 Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI feat(tvix/eval): remove `derive(Copy)` from Upvalues 2022-12-21T14:50:04+00:00 Adam Joseph adam@westernsemico.com 2022-11-28T08:18:04+00:00 urn:sha1:922bf7aca9f4d4f4834ba5de7841ff58015c8791 Change-Id: I0fa069fbeff6718a765ece948c2c1bce285496f7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7449 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI feat(tvix/eval): wrap Closure in Rc<> to match cppnix semantics 2022-12-21T14:50:04+00:00 Adam Joseph adam@westernsemico.com 2022-11-27T08:54:39+00:00 urn:sha1:e04b1697e4f4e8236418571c1f5938f0a9717bb7 Change-Id: I595087eff943d38a9fc78a83d37e207bb2ab79bc Reviewed-on: https://cl.tvl.fyi/c/depot/+/7443 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI feat(tvix/eval): add Closure::ptr_eq() 2022-11-26T11:44:10+00:00 Adam Joseph adam@westernsemico.com 2022-11-24T08:39:37+00:00 urn:sha1:6b986de92b19d6d4932da74e34a417a88fc63cb3 See cl/7368 Change-Id: I97630994c3d65f4d16414a0da236ce000a5b6d33 Signed-off-by: Adam Joseph <adam@westernsemico.com> Reviewed-on: https://cl.tvl.fyi/c/depot/+/7374 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI feat(tvix/eval): wrap Closure::upvalues in Rc 2022-11-26T11:44:10+00:00 Adam Joseph adam@westernsemico.com 2022-11-24T08:35:33+00:00 urn:sha1:0616976f7c4be17d375aefaa3df9ba8088bd57a0 See cl/7372; Nix equality semantics require the ability to track pointer equality of upvalue-sets. Signed-off-by: Adam Joseph <adam@westernsemico.com> Change-Id: I82ba517499cf370189a80355e4e46a5caaab7153 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7373 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI refactor(tvix/eval): rename Opcode::DataLocalIdx to DataStackIdx 2022-11-05T21:58:29+00:00 Adam Joseph adam@westernsemico.com 2022-10-25T09:16:59+00:00 urn:sha1:c096152953d7178566f8ae53b63154b5f2bbb177 It is very confusing that this opcode is called DataLocalIdx, but it carries a StackIdx rather than a LocalIdx. It seems like this really ought to be called DataStackIdx, but maybe I've misunderstood; if so please explain it to me. Change-Id: I91f6ffa759412beef0b91d3c19ec0d873fe51b99 Signed-off-by: Adam Joseph <adam@westernsemico.com> Reviewed-on: https://cl.tvl.fyi/c/depot/+/7088 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI fix(tvix/eval): remove impl PartialEq for Value 2022-11-04T00:30:13+00:00 Adam Joseph adam@westernsemico.com 2022-11-01T00:13:38+00:00 urn:sha1:06494742062e77036827dfc7c91dea507b44447f It isn't possible to implement PartialEq properly for Value, because any sensible implementation needs to force() thunks, which cannot be done without a `&mut VM`. The existing derive(PartialEq) has false negatives, which caused the bug which cl/7142 fixed. Fortunately that bug was easy to find, but a silent false negative deep within the bowels of nixpkgs could be a real nightmare to hunt down. Let's just remove the PartialEq impl for Value, and the other derive(PartialEq)'s that depend on it. Signed-off-by: Adam Joseph <adam@westernsemico.com> Change-Id: Iacd3726fefc7fc1edadcd7e9b586e04cf8466775 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7144 Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<feed xmlns="http://www.w3.org/2005/Atom">
<title>depot/tvix/eval/src/value/function.rs, branch refs/r/8092</title>
<subtitle>monorepo for the virus lounge</subtitle>
<id>http://code.tvl.fyi/depot/atom?h=refs%2Fr%2F8092</id>
<link rel="self" href="http://code.tvl.fyi/depot/atom?h=refs%2Fr%2F8092"/>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/"/>
<updated>2024-01-25T11:37:35+00:00</updated>
<entry>
<title>feat(tvix/eval): track pattern binding names</title>
<updated>2024-01-25T11:37:35+00:00</updated>
<author>
<name>Florian Klink</name>
<email>flokli@flokli.de</email>
</author>
<published>2024-01-23T13:34:38+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=023e372583b7bcc71b5c301c49501cc72204068f"/>
<id>urn:sha1:023e372583b7bcc71b5c301c49501cc72204068f</id>
<content type="text"> These need to be preserved at least for builtins.toXML. Also, we incorrectly only wrote an <attrspat> in case ellipsis was true, but that's not the case. Change-Id: I6bff9c47c2922f878d5c43e48280cda9c9ddb692 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10686 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: aspen <root@gws.fyi> </content>
</entry>
<entry>
<title>fix(tvix/eval/value/function): use BTreeMap for function arg names</title>
<updated>2024-01-24T14:00:44+00:00</updated>
<author>
<name>Florian Klink</name>
<email>flokli@flokli.de</email>
</author>
<published>2024-01-23T12:54:27+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=e1d25891638597b0085033fd99814fce83fab4b9"/>
<id>urn:sha1:e1d25891638597b0085033fd99814fce83fab4b9</id>
<content type="text"> At least toXML wants to get these out in a sorted fashion. Change-Id: I6373d7488fff7c40dc2ddeeecd03ba537c92c4af Reviewed-on: https://cl.tvl.fyi/c/depot/+/10685 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI </content>
</entry>
<entry>
<title>docs(tvix/eval): fix some broken docstr references</title>
<updated>2023-09-22T09:14:33+00:00</updated>
<author>
<name>Florian Klink</name>
<email>flokli@flokli.de</email>
</author>
<published>2023-09-21T21:57:20+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=731996fbfe5947190443ed70385632a7f9e07e06"/>
<id>urn:sha1:731996fbfe5947190443ed70385632a7f9e07e06</id>
<content type="text"> There's some more left, but they've been renamed/refactored out of sight. Change-Id: I41579dedc74342b4c5f8cb39d2995b5b0c90b0f4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9372 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> </content>
</entry>
<entry>
<title>fix(tvix/eval): fix current clippy warnings</title>
<updated>2022-12-25T18:25:06+00:00</updated>
<author>
<name>Vincent Ambo</name>
<email>mail@tazj.in</email>
</author>
<published>2022-12-20T14:22:56+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=71174f6626cbf100a8428ddc334681e4edfb45e6"/>
<id>urn:sha1:71174f6626cbf100a8428ddc334681e4edfb45e6</id>
<content type="text"> It's been a while since the last time, so quite a lot of stuff has accumulated here. Change-Id: I0762827c197b30a917ff470fd8ae8f220f6ba247 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7597 Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI </content>
</entry>
<entry>
<title>feat(tvix/eval): remove `derive(Copy)` from Upvalues</title>
<updated>2022-12-21T14:50:04+00:00</updated>
<author>
<name>Adam Joseph</name>
<email>adam@westernsemico.com</email>
</author>
<published>2022-11-28T08:18:04+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=922bf7aca9f4d4f4834ba5de7841ff58015c8791"/>
<id>urn:sha1:922bf7aca9f4d4f4834ba5de7841ff58015c8791</id>
<content type="text"> Change-Id: I0fa069fbeff6718a765ece948c2c1bce285496f7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7449 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI </content>
</entry>
<entry>
<title>feat(tvix/eval): wrap Closure in Rc<> to match cppnix semantics</title>
<updated>2022-12-21T14:50:04+00:00</updated>
<author>
<name>Adam Joseph</name>
<email>adam@westernsemico.com</email>
</author>
<published>2022-11-27T08:54:39+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=e04b1697e4f4e8236418571c1f5938f0a9717bb7"/>
<id>urn:sha1:e04b1697e4f4e8236418571c1f5938f0a9717bb7</id>
<content type="text"> Change-Id: I595087eff943d38a9fc78a83d37e207bb2ab79bc Reviewed-on: https://cl.tvl.fyi/c/depot/+/7443 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI </content>
</entry>
<entry>
<title>feat(tvix/eval): add Closure::ptr_eq()</title>
<updated>2022-11-26T11:44:10+00:00</updated>
<author>
<name>Adam Joseph</name>
<email>adam@westernsemico.com</email>
</author>
<published>2022-11-24T08:39:37+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=6b986de92b19d6d4932da74e34a417a88fc63cb3"/>
<id>urn:sha1:6b986de92b19d6d4932da74e34a417a88fc63cb3</id>
<content type="text"> See cl/7368 Change-Id: I97630994c3d65f4d16414a0da236ce000a5b6d33 Signed-off-by: Adam Joseph <adam@westernsemico.com> Reviewed-on: https://cl.tvl.fyi/c/depot/+/7374 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI </content>
</entry>
<entry>
<title>feat(tvix/eval): wrap Closure::upvalues in Rc</title>
<updated>2022-11-26T11:44:10+00:00</updated>
<author>
<name>Adam Joseph</name>
<email>adam@westernsemico.com</email>
</author>
<published>2022-11-24T08:35:33+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=0616976f7c4be17d375aefaa3df9ba8088bd57a0"/>
<id>urn:sha1:0616976f7c4be17d375aefaa3df9ba8088bd57a0</id>
<content type="text"> See cl/7372; Nix equality semantics require the ability to track pointer equality of upvalue-sets. Signed-off-by: Adam Joseph <adam@westernsemico.com> Change-Id: I82ba517499cf370189a80355e4e46a5caaab7153 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7373 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI </content>
</entry>
<entry>
<title>refactor(tvix/eval): rename Opcode::DataLocalIdx to DataStackIdx</title>
<updated>2022-11-05T21:58:29+00:00</updated>
<author>
<name>Adam Joseph</name>
<email>adam@westernsemico.com</email>
</author>
<published>2022-10-25T09:16:59+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=c096152953d7178566f8ae53b63154b5f2bbb177"/>
<id>urn:sha1:c096152953d7178566f8ae53b63154b5f2bbb177</id>
<content type="text"> It is very confusing that this opcode is called DataLocalIdx, but it carries a StackIdx rather than a LocalIdx. It seems like this really ought to be called DataStackIdx, but maybe I've misunderstood; if so please explain it to me. Change-Id: I91f6ffa759412beef0b91d3c19ec0d873fe51b99 Signed-off-by: Adam Joseph <adam@westernsemico.com> Reviewed-on: https://cl.tvl.fyi/c/depot/+/7088 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI </content>
</entry>
<entry>
<title>fix(tvix/eval): remove impl PartialEq for Value</title>
<updated>2022-11-04T00:30:13+00:00</updated>
<author>
<name>Adam Joseph</name>
<email>adam@westernsemico.com</email>
</author>
<published>2022-11-01T00:13:38+00:00</published>
<link rel="alternate" type="text/html" href="http://code.tvl.fyi/commit/?id=06494742062e77036827dfc7c91dea507b44447f"/>
<id>urn:sha1:06494742062e77036827dfc7c91dea507b44447f</id>
<content type="text"> It isn't possible to implement PartialEq properly for Value, because any sensible implementation needs to force() thunks, which cannot be done without a `&mut VM`. The existing derive(PartialEq) has false negatives, which caused the bug which cl/7142 fixed. Fortunately that bug was easy to find, but a silent false negative deep within the bowels of nixpkgs could be a real nightmare to hunt down. Let's just remove the PartialEq impl for Value, and the other derive(PartialEq)'s that depend on it. Signed-off-by: Adam Joseph <adam@westernsemico.com> Change-Id: Iacd3726fefc7fc1edadcd7e9b586e04cf8466775 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7144 Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI </content>
</entry>
</feed>