Skip to content
This repository has been archived by the owner on Mar 1, 2022. It is now read-only.

Latest commit

 

History

History
60 lines (39 loc) · 1.59 KB

README.md

File metadata and controls

60 lines (39 loc) · 1.59 KB

pluton

Hercules-ci Cachix Cache

Work in Progress

Pluton is intended to:

  • Write example smart contracts using Plutarch to assess what's needed to be done at the eDSL layer.
  • Benchmark (script size, cpu/mem cost) functions and smart contracts written in Haskell, Plutarch and Pluto

See Project board for planned tasks.

Developing

nix develop should get a dev environment with Haskell Language Server support and ghcid.

If you are developing with VSCode, nix-direnv is recommended. Using home-manager, you can install it as follows:

programs.direnv = {
  enable = true;
  enableBashIntegration = true;
  nix-direnv.enable = true;
};

If you use ghcid, you may find bin/{ghcid,test} handy.

Running the tests

In a nix-shell, run:

cabal run pluton

Benchmarks

Note: Benchmarks are work in progress; we intend to benchmark all examples in CI.

cabal bench

This will write the benchmark report to bench.*.

Benchmarking a commit

To run benchmarks on a particular commit,

nix run github:Plutonomicon/pluton/<COMMIT-GOES-HERE>#benchmark