Contents:

Library ConCert.Examples.Crowdfunding.extract.ExtractCrowdfundingLiquidity

Extraction of a crowdfunding contract


From ConCert.Extraction Require Import LiquidityExtract.
From ConCert.Extraction Require Import LiquidityPretty.
From ConCert.Examples.Crowdfunding Require Import CrowdfundingLiquidity.
From MetaRocq.Template Require Import All.

Import MonadNotation.

We run the extraction procedure inside the TemplateMonad. It uses the certified erasure from MetaRocq and the certified deboxing procedure that removes application of boxes to constants and constructors.
We redirect the extraction result for later processing and compiling with the Liquidity compiler
Redirect "liquidity-extract/CrowdfundingCertifiedExtraction.liq"
  Compute liquidity_crowdfunding.