IntersectMBO/plutus

The evaluate-builtins optimization isn't conservative

Open

#6,167 建立於 2024年6月3日

在 GitHub 查看
 (1 留言) (1 反應) (0 負責人)Haskell (511 fork)batch import
Good first issueInternalPlutus IRbugoptimizationstatus: triagedtech debt

倉庫指標

Star
 (1,637 star)
PR 合併指標
 (平均合併 15天 11小時) (30 天內合併 13 個 PR)

描述

PlutusIR.Transform.EvaluateBuiltins turns ifThenElse True x y into x. That is not conservative: if y throws then the former term will throw and the latter one won't. So this is a bug that needs to be fixed. It wasn't discussed in the original PR.

More importantly, this looks like something that the proper property testing should catch. Look like a perfect opportunity for the PIR generators to show their power. So it'd be best to first write a failing property, then fix the bug.

貢獻者指南