effectfully

Results 97 issues of effectfully

`PlutusCore.Check.Normal` is buggy: ``` >>> :set -XTypeApplications >>> import PlutusCore.MkPlc >>> import PlutusCore.Default >>> import PlutusCore.Check.Normal >>> import PlutusCore.Normalize >>> import PlutusCore >>> isNormalType . unNormalized . runQuote . normalizeType...

bug
Test
Builtins
status: triaged
Internal

`PlutusTx.Ord.Ord` lacks a `MINIMAL` pragma meaning it's easy to cause an infinite loop by defining an instance of this class. We should simply take the pragma from `base` (where that...

bug
Plinth
Good first issue
status: triaged
Internal

We should replace all occurrences of `NOINLINE` with `OPAQUE`, because the former [doesn't](https://gitlab.haskell.org/ghc/ghc/-/issues/19553) actually prevent inlining. See also the original [proposal](https://github.com/christiaanb/ghc-proposals/blob/master/proposals/0000-opaque-pragma.md) to introduce `OPAQUE`. Once this is done we should...

bug
status: triaged
Internal

We should have some kind of `Lazy` data type instead of using `() ->` in Plutus Tx, so that we can compile it to `delay` and `force` instead of juggling...

Plinth
Performance
status: triaged
Internal

Currently the compiler puts `delay`s into branches, i.e. this Haskell code: ```haskell case xs of [] -> z x:xs' -> f x xs' ``` becomes this PIR code (this needs...

Low priority
status: triaged
optimization

In #6247 @Unisay showed us how to access the datum and redeemer efficiently, but not simply. We could consider adding a dedicated data type for doing this lazy decoding (`data...

Plinth
status: triaged
Internal

After #5960 we have some left-overs: 1. this example is incorrect and needs to be updated: ``` {- | A special case of case-of-case optimisation: transforms @ case ((force ifThenElse)...

status: triaged
Internal
optimization
tech debt

NEAT tests are flawed in quite a few ways, but given their rather low priority and the fact that probably nobody is actually going to be working on them I'll...

Plutus Core
Test
Low priority
status: triaged

(formatting was swallowed by Jira, because the shithead MBAs who all seem to be deactivated now insisted that a public project must use a private Jira board, which unexpectedly didn't...

Refactoring
Low priority
Builtins
status: triaged
tech debt

`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
Plutus IR
Good first issue
status: triaged
Internal
optimization