Skip to content

Commit

Permalink
Merge branch 'master' into kwxm/experiment/strictify-fix-nofib
Browse files Browse the repository at this point in the history
  • Loading branch information
kwxm committed May 3, 2024
2 parents 496f1ea + f1eae1c commit bba507c
Show file tree
Hide file tree
Showing 31 changed files with 385 additions and 289 deletions.
21 changes: 10 additions & 11 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ If you _really_ cannot use Nix and still want to contribute to Plutus then xref:

=== Installing and setting up Nix

For instructions on how to install and configure nix (including how to enable access to our binary caches), refer to link:https://github.com/input-output-hk/iogx/blob/main/doc/nix-setup-guide.md[this document].
For instructions on how to install and configure nix (including how to enable access to our binary caches), refer to link:https://github.com/input-output-hk/iogx/blob/main/doc/nix-setup-guide.md[this document].

If you already have nix installed and setup, you may enter the development shell by running `nix develop`.

Expand Down Expand Up @@ -204,20 +204,20 @@ There are various tools for visualizing the resulting profile, e.g. https://hack
We have a set of supported GHC major versions, which are built in CI and which we commit to keeping working.

We also have a primary development version.
This is the version we use in the default dev shell, and the one we use day-to-day.
This is the version we use in the default dev shell, and the one we use day-to-day.
The primary development version should be whichever version the Cardano node is using (or migrating towards using).
Supported versions older than the primary development version are deprecated, and we can drop them as soon as the Cardano node has moved to a later GHC version.

At the moment, our supported GHC versions are:
- 8.10 (deprecated)
- 9.6 (primary)
- 9.8
- 9.8

=== Plugin support

Making `plutus-tx-plugin` work on multiple GHC versions can be painful, because it uses a lot of GHC internals.
Since the plugin is not in the dependency closure of the Cardano node, we don't _need_ to support all the GHC versions, which is helpful.
We mostly commit to supporting our primary development version, but we _may_ support other versions as well if it is easy.
We mostly commit to supporting our primary development version, but we _may_ support other versions as well if it is easy.

The plugin and its dependents should be marked as unbuildable with cabal conditionals on any non-supported major GHC versions.
This makes cabal behave reasonably well (it will ignore them and not try and fail to build them).
Expand Down Expand Up @@ -650,14 +650,13 @@ These perform some of the same checks as Hydra, but Github Actions is often more
== Project roles and responsibilities

- The regular contributors to the Haskell code, all of whom can review and merge PRs are:
- @michaelpj
- @ana-pantilie
- @bezirg
- @effectfully
- @kwxm
- @bezirg
- @thealmarty
- @Unisay
- @zliu41
- The maintainer of the documentation is @joseph-fajen.
- The maintainer of the Agda code is @jmchapman, @effectfully can help with small issues.
- If you have a technical dispute that you need help resolving, you can ask @michaelpj.
- For problems with the developer environment setup, builds, or CI, you can ask @zeme-iohk, @Pacman99, or @michaelpj.
- The regular contributors take turns releasing our software, but if you have a specific problem ask @zliu41 or @michaelpj.
- If you have a technical dispute that you need help resolving, you can ask @zliu41.
- For problems with the developer environment setup, builds, or CI, you can ask @zeme-iohk or @zliu41.
- The regular contributors take turns releasing our software, but if you have a specific problem ask @zliu41.
14 changes: 7 additions & 7 deletions doc/read-the-docs-site/plutus-doc.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ executable doc-doctests
, containers
, flat ^>=0.6
, lens
, plutus-core ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-core ^>=1.27
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27
, prettyprinter
, random
, serialise
Expand All @@ -105,10 +105,10 @@ executable quick-start
, base >=4.9 && <5
, base16-bytestring
, bytestring
, plutus-core ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-core ^>=1.27
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27

if !(impl(ghcjs) || os(ghcjs))
build-depends: plutus-tx-plugin
118 changes: 59 additions & 59 deletions plutus-benchmark/plutus-benchmark.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ library plutus-benchmark-common
, directory
, filepath
, flat ^>=0.6
, plutus-core ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-core ^>=1.27
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27
, tasty
, tasty-golden
, temporary
Expand All @@ -119,9 +119,9 @@ library nofib-internal
, base >=4.9 && <5
, deepseq
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-core ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27

executable nofib-exe
import: lang, ghc-version-support
Expand All @@ -135,8 +135,8 @@ executable nofib-exe
, nofib-internal
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-tx ^>=1.26
, plutus-core ^>=1.27
, plutus-tx ^>=1.27
, prettyprinter
, transformers

Expand Down Expand Up @@ -174,8 +174,8 @@ test-suite plutus-benchmark-nofib-tests
, base >=4.9 && <5
, nofib-internal
, plutus-benchmark-common
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.26
, plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.26
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.27
, plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.27
, tasty
, tasty-hunit
, tasty-quickcheck
Expand All @@ -201,9 +201,9 @@ library lists-internal
, base >=4.9 && <5
, mtl
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-core ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27

executable list-sort-exe
import: lang, ghc-version-support
Expand All @@ -214,7 +214,7 @@ executable list-sort-exe
, lists-internal
, monoidal-containers
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-core ^>=1.27

benchmark lists
import: lang, ghc-version-support
Expand All @@ -226,7 +226,7 @@ benchmark lists
, criterion >=1.5.9.0
, lists-internal
, plutus-benchmark-common
, plutus-ledger-api ^>=1.26
, plutus-ledger-api ^>=1.27

test-suite plutus-benchmark-lists-tests
import: lang, ghc-version-support
Expand All @@ -243,8 +243,8 @@ test-suite plutus-benchmark-lists-tests
, base >=4.9 && <5
, lists-internal
, plutus-benchmark-common
, plutus-core:plutus-core-testlib ^>=1.26
, plutus-tx:plutus-tx-testlib ^>=1.26
, plutus-core:plutus-core-testlib ^>=1.27
, plutus-tx:plutus-tx-testlib ^>=1.27
, tasty
, tasty-quickcheck

Expand All @@ -265,7 +265,7 @@ benchmark validation
, flat ^>=0.6
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-core ^>=1.27

---------------- validation-decode ----------------

Expand All @@ -285,8 +285,8 @@ benchmark validation-decode
, flat ^>=0.6
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-core ^>=1.27
, plutus-ledger-api ^>=1.27

---------------- validation-full ----------------

Expand All @@ -306,8 +306,8 @@ benchmark validation-full
, flat ^>=0.6
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-core ^>=1.27
, plutus-ledger-api ^>=1.27

---------------- Cek cost model calibration ----------------

Expand All @@ -323,10 +323,10 @@ benchmark cek-calibration
, lens
, mtl
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-core ^>=1.27
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27

---------------- Signature verification throughput ----------------

Expand All @@ -342,9 +342,9 @@ executable ed25519-costs
, cardano-crypto-class
, hedgehog
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-core ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27

-- Calculate the predicted costs of sequences of ed25519 signature verification
-- operations and compare them with a golden file.
Expand All @@ -361,9 +361,9 @@ test-suite ed25519-costs-test
, cardano-crypto-class
, hedgehog
, plutus-benchmark-common
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27

---------------- BLS12-381 experiments ----------------

Expand All @@ -381,10 +381,10 @@ library bls12-381lib-internal
, bytestring
, hedgehog
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-core ^>=1.27
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27

-- Print out predicted costs of various scripts involving BLS12-381 operations
executable bls12-381-costs
Expand All @@ -408,7 +408,7 @@ test-suite bls12-381-costs-test
, base >=4.9 && <5
, bls12-381lib-internal
, plutus-benchmark-common
, plutus-core:plutus-core-testlib ^>=1.26
, plutus-core:plutus-core-testlib ^>=1.27

-- Run benchmarks for various scripts involving BLS12-381 operations
benchmark bls12-381-benchmarks
Expand All @@ -422,8 +422,8 @@ benchmark bls12-381-benchmarks
, bytestring
, criterion >=1.5.9.0
, plutus-benchmark-common
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27

---------------- script contexts ----------------

Expand All @@ -433,9 +433,9 @@ library script-contexts-internal
exposed-modules: PlutusBenchmark.ScriptContexts
build-depends:
, base >=4.9 && <5
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27

test-suite plutus-benchmark-script-contexts-tests
import: lang, ghc-version-support
Expand All @@ -447,8 +447,8 @@ test-suite plutus-benchmark-script-contexts-tests
build-depends:
, base >=4.9 && <5
, plutus-benchmark-common
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.26
, plutus-tx:plutus-tx-testlib ^>=1.26
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.27
, plutus-tx:plutus-tx-testlib ^>=1.27
, script-contexts-internal
, tasty
, tasty-hunit
Expand Down Expand Up @@ -477,10 +477,10 @@ library marlowe-internal
, mtl
, newtype-generics
, plutus-benchmark-common
, plutus-core:{plutus-core, plutus-core-execlib} ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-tx-plugin ^>=1.26
, plutus-core:{plutus-core, plutus-core-execlib} ^>=1.27
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27
, plutus-tx-plugin ^>=1.27
, serialise

executable marlowe-validators
Expand All @@ -500,8 +500,8 @@ executable marlowe-validators
, cardano-binary
, marlowe-internal
, plutus-benchmark-common
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27
, serialise

benchmark marlowe
Expand All @@ -515,8 +515,8 @@ benchmark marlowe
, criterion
, marlowe-internal
, plutus-benchmark-common
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27

test-suite plutus-benchmark-marlowe-tests
import: lang, ghc-version-support
Expand All @@ -528,9 +528,9 @@ test-suite plutus-benchmark-marlowe-tests
build-depends:
, base >=4.9 && <5
, marlowe-internal
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.26
, plutus-ledger-api ^>=1.26
, plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.26
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.27
, plutus-ledger-api ^>=1.27
, plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.27
, tasty

---------------- agda evaluators ----------------
Expand All @@ -544,7 +544,7 @@ library agda-internal
build-depends:
, base >=4.9 && <5
, criterion
, plutus-core ^>=1.26
, plutus-core ^>=1.27
, plutus-metatheory

benchmark validation-agda-cek
Expand All @@ -564,7 +564,7 @@ benchmark validation-agda-cek
, flat ^>=0.6
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.26
, plutus-core ^>=1.27

benchmark nofib-agda-cek
import: lang, ghc-version-support
Expand All @@ -591,5 +591,5 @@ benchmark marlowe-agda-cek
, criterion
, marlowe-internal
, plutus-benchmark-common
, plutus-ledger-api ^>=1.26
, plutus-tx ^>=1.26
, plutus-ledger-api ^>=1.27
, plutus-tx ^>=1.27

0 comments on commit bba507c

Please sign in to comment.