IntersectMBO / IntersectMBO/plutus
`dischargeCekValue` doesn't handle open terms correctly
Open
bug
Good first issue
status: triaged
- Dominant language
- Haskell
- Stars
- 1.6k
- Forks
- 508
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 22
Description
`dischargeCekValue` has the following code:
```haskell
-- var is free, leave it alone
(Var () named)
```
which means that
`(\0 \0 var 2) (delay (var 1))`
evaluates to
`[1 :-> delay (var 1)] (\0 var 2)`
which then discharges to
`\0 delay (var 1)`
which is variable capture.
Contributor guide
Assessment
This issue has not been assessed yet.