Skip to content

Latest commit

 

History

History
18 lines (15 loc) · 849 Bytes

ARCHITECTURE.adoc

File metadata and controls

18 lines (15 loc) · 849 Bytes

plutus-tx-plugin

This package contains the GHC Core to Plutus IR compiler ("the Plutus Tx compiler"), and a GHC Core plugin which enables programs to use it.

Because of the way plugins work, clients can use the functions in the plutus-tx package to use the plugin, but will require an additional dependency on this package.

plutus-tx-plugin is separated out from plutus-tx because it depends on the ghc library, which is difficult in a number of ways. Specifically, when cross-compiling, the plugin module needs to be provided as a "native"-compiled module, not as a cross-compiled module. Due to cabal’s lack of support for cross-compilation, this needs to be accomplished by external means, and the best we can do is ensure that we don’t try and compile this package cross — hence why we recommend depending on it conditionally.