plutus-tx-plugin: use a phantom type parameter for CompiledCode #412
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This tracks the type of the Haskell that was compiled, and hence
implicitly (insofar as we believe that the compiation is
type-preserving) the type of the compiled code. This can be used to
ensure that application of compiled programs is well-typed - however in
our primary setting in
wallet-api
we simply have programs asunknown serialized blobs, and so we cannot make use of this facility.
I considered using existentials in
wallet-api
so we could at leastenforce the shape of a validator script as a function of the
appropriate arity, but this makes things quite a bit more complicated,
and would give users confusing error messages, so I've decided not to do
that for now.