I've been reading the official Plutus docs and saw that in the explanation about Template Haskell, there is information about PlutusTx.TH.compile, to use it for producing the quoted Plutus Core program.

And in Plutus-Pioneers examples there is PlutusTx.compile being used, instead of the 'TH' version.

Can this two imported functions be used interchangeably? Their type looks the same in ghci, so I'm a bit confused.

Thanks in advance!

1 Answer 1


Hi man Lars answered this in the 7th Q&A video of the Plutus pioneers program cohort 3.

If you don't want to watch the video the long and short of it is that the PlutusTx.TH.compile module is just an Exported version of the PlutusTx.compile module. This is done to make it easier for people to use, but the PlutusTx.compile is really all you need and you should learn it just in case at some point the PlutusTx.compile module has some functionality that has yet to be exported to the PlutusTx.TH.compile module.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.