effectfully

Results 249 comments of effectfully

Performance improvements in builtins-related PRs (each number is the mean performance change for `validation` benchmarks): #4173: [-8.23%](https://github.com/input-output-hk/plutus/pull/4173#issuecomment-957990255) #4230: [-5.09%](https://github.com/input-output-hk/plutus/pull/4230#issuecomment-1086731439) #4264: [-2.42%](https://github.com/input-output-hk/plutus/pull/4264#issuecomment-988523560) #4307: [-12.01%](https://github.com/input-output-hk/plutus/pull/4307#issuecomment-1005223023) #4317: [-2.01%](https://github.com/input-output-hk/plutus/pull/4317#issuecomment-1008098553) #4379: [-1.78%](https://github.com/input-output-hk/plutus/pull/4379#issuecomment-1030872306) #4397: [-2.75%](https://github.com/input-output-hk/plutus/pull/4397#issuecomment-1037446542) #4398:...

Builtins-related weirdness: 1. `TyVarRep` exploits the very [weird](https://github.com/effectfully-ou/sketches/tree/master/poly-type-of-saga/part2-enumerate-type-vars#what-to-instantiate-variables-with) corner of the Haskell type system, but it's kinda already the some extension that makes it easier to support what we need...

Sorry, I missed it. I'll review it the next week.

I've looked into the data escaping issue and here are my conclusions (it's probably more info than you need, I'm leaving it here for future reference): 1. the renamer is...

> @effectfully doesn't this solution presuppose we change the generators to only generate terms with globally unique names? That would of course be completely infeasible and absolutely not worth the...

[Here's](https://github.com/Quviq/plutus/pull/2) my PR to your PR. It only removes a couple of redundant calls to `runQuoteT`. Just trying to figure out what the workflow for tweaking your PR should be...

@MaximilianAlgehed I've improved handling of builtins and pushed to your branch. Please review the [commit](https://github.com/input-output-hk/plutus/pull/4559/commits/a9f872b127665affe269a44b114d8e9f04694c5d).

> That looks kind of similar to what's in the NEAT generators, or the stuff that Ziyang did, I wonder if we can share them? I think it doesn't make...

> I think we lost a bunch of comments from before in the move. For the first batch of merging I guess we're also going to need the `GenTm` monad,...

> Since I have some familiarity with that thing, I'm going to try simplifying things with MonadGen. Done. @MaximilianAlgehed please review [this](https://github.com/input-output-hk/plutus/pull/4559/commits/82722491a8fd34923ff07aef34382ed1e0e9a306) commit.