cardano-base-0.1.0.0: Various utilities for Cardano
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cardano.Base.FeatureFlags

Description

Mini-abstraction to aid parallel development of experimental Cardano features.

Usage example

>>> import Data.Set (Set)
>>> import qualified Data.Set as Set
>>> import Cardano.Base.FeatureFlags (CardanoFeatureFlag (..))
>>> :{
logic :: Set CardanoFeatureFlag -> Int -> Int
logic featureFlags
  | Set.member PerasFlag featureFlags = (+ 2)
  | otherwise = (+ 1)
:}
Synopsis

Documentation

data CardanoFeatureFlag Source #

An experimental Cardano feature.

Constructors

LeiosFlag

Feature flag for Ouroboros Leios (higher throughput).

PerasFlag

Feature flag for Ouroboros Peras (faster settlement).

PhalanxFlag

Feature flag for Ouroboros Phalanx (anti-grinding).

Instances

Instances details
FromJSON CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

ToJSON CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

Bounded CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

Enum CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

Generic CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

Associated Types

type Rep CardanoFeatureFlagTypeType #

Read CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

Show CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

Eq CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

Ord CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

NoThunks CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

type Rep CardanoFeatureFlag Source # 
Instance details

Defined in Cardano.Base.FeatureFlags

type Rep CardanoFeatureFlag = D1 ('MetaData "CardanoFeatureFlag" "Cardano.Base.FeatureFlags" "cardano-base-0.1.0.0-inplace" 'False) (C1 ('MetaCons "LeiosFlag" 'PrefixI 'False) (U1TypeType) :+: (C1 ('MetaCons "PerasFlag" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "PhalanxFlag" 'PrefixI 'False) (U1TypeType)))