-
Notifications
You must be signed in to change notification settings - Fork 483
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add improvements to the PIR compiler #3655
Conversation
@@ -44,6 +44,8 @@ import Data.Proxy | |||
import Data.Text.Prettyprint.Doc | |||
import qualified Data.Typeable as GHC | |||
|
|||
type PrettyPrintable uni fun = ( PLC.GShow uni, PLC.Closed uni, uni `PLC.Everywhere` PrettyConst, Pretty fun) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@effectfully I was thinking about adding such constraint somewhere, do you thing it is sufficient?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should indeed put this somewhere more easily accessible and use it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe from PlutusCore.Core
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@michaelpj, I think I will leave this to a subsequent PR.
597960b
to
ddc169d
Compare
ddc169d
to
47b4dbc
Compare
- pedantic typechecking will typecheck between simplifier passes, - add option for being verbose about simplifier passes, - add option for dumping PIR to stdout before and after a pass, - add option for specifying max number of iterations, - add option for controlling each simplifier pass, - run the simplifier 8 times by default.
47b4dbc
to
34cfab9
Compare
) | ||
=> a -> m (UPLC.Term UPLC.NamedDeBruijn uni fun ()) | ||
safeLift x = do | ||
lifted <- liftQuote $ runDefT () $ Lift.lift x | ||
tcConfig <- PLC.getDefTypeCheckConfig $ Original () | ||
compiled <- flip runReaderT (toDefaultCompilationCtx tcConfig) $ compileTerm lifted | ||
-- NOTE: Disabling simplifier, as it takes a lot of time during runtime |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this true? Or is this only true when we inline types? I think we should turn this back on again, but I want to merge this so let's do it later.
Pre-submit checklist: