clash-prelude-1.8.4: Clash: a functional hardware description language - Prelude library

Copyright | (C) 2013-2016 University of Twente 2017-2019 Myrtle Software Ltd 2017 Google Inc. 2021-2023 QBayLogic B.V.
License | BSD2 (see the file LICENSE)
Maintainer | QBayLogic B.V. <devops@qbaylogic.com>
Safe Haskell | Unsafe
Language | Haskell2010

Extensions

- Cpp
- MonoLocalBinds
- ScopedTypeVariables
- BangPatterns
- ViewPatterns
- DataKinds
- InstanceSigs
- StandaloneDeriving
- DeriveDataTypeable
- DeriveFunctor
- DeriveTraversable
- DeriveFoldable
- DeriveGeneric
- DefaultSignatures
- DeriveLift
- DerivingStrategies
- FlexibleContexts
- MagicHash
- KindSignatures
- PostfixOperators
- TupleSections
- TypeOperators
- ExplicitNamespaces
- ExplicitForAll
- BinaryLiterals
- TypeApplications

Clash.Prelude

Contents

- Creating synchronous sequential circuits
- ROMs
  - ROMs defined by a `MemBlob`
  - ROMs defined by a data file
- RAM primitives with a combinational read port
- Block RAM primitives
  - Block RAM primitives initialized with a `MemBlob`
    - Creating and inspecting `MemBlob`
  - Block RAM primitives initialized with a data file
  - Block RAM read/write conflict resolution
  - True dual-port block RAM
- Utility functions
- Tracing
  - Simple
  - Tracing in a multi-clock environment
  - VCD dump functions
- Exported modules
  - Synchronous signals
  - Datatypes
    - Bit vectors
    - Arbitrary-width numbers
    - Fixed point numbers
    - Fixed size vectors
    - Perfect depth trees
  - Annotations
  - Generics type-classes
  - Type-level natural numbers
  - Type-level strings
  - Template Haskell
  - Type classes
    - Clash
    - Other
  - Exceptions
  - Named types
  - Hidden arguments
  - Magic
  - Haskell Prelude

Description

Clash is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. The merits of using a functional language to describe hardware comes from the fact that combinational circuits can be directly modeled as mathematical functions and that functional languages lend themselves very well at describing and (de-)composing mathematical functions.

This package provides:

- Prelude library containing datatypes and functions for circuit design

To use the library:

- Import Clash.Prelude; by default clock and reset lines are implicitly routed for all the components found in Clash.Prelude. You can read more about implicit clock and reset lines in Clash.Signal
- Alternatively, if you want to explicitly route clock and reset ports, for more straightforward multi-clock designs, you can import the Clash.Explicit.Prelude module. Note that you should not import Clash.Prelude and Clash.Explicit.Prelude at the same time as they have overlapping definitions.

For now, Clash.Prelude is also the best starting point for exploring the library. A preliminary version of a tutorial can be found in Clash.Tutorial. Some circuit examples can be found in Clash.Examples.

Synopsis

- mealy :: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s) => (s -> i -> (s, o)) -> s -> Signal dom i -> Signal dom o
- mealyS :: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s) => (i -> State s o) -> s -> Signal dom i -> Signal dom o
- mealyB :: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s, Bundle i, Bundle o) => (s -> i -> (s, o)) -> s -> Unbundled dom i -> Unbundled dom o
- mealySB :: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s, Bundle i, Bundle o) => (i -> State s o) -> s -> Unbundled dom i -> Unbundled dom o
- (<^>) :: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s, Bundle i, Bundle o) => (s -> i -> (s, o)) -> s -> Unbundled dom i -> Unbundled dom o
- moore :: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s) => (s -> i -> s) -> (s -> o) -> s -> Signal dom i -> Signal dom o
- mooreB :: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s, Bundle i, Bundle o) => (s -> i -> s) -> (s -> o) -> s -> Unbundled dom i -> Unbundled dom o
- registerB :: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a, Bundle a) => a -> Unbundled dom a -> Unbundled dom a
- asyncRom :: forall (n :: Nat) addr a. (KnownNat n, Enum addr, NFDataX a) => Vec n a -> addr -> a
- asyncRomPow2 :: forall (n :: Nat) a. (KnownNat n, NFDataX a) => Vec (2 ^ n) a -> Unsigned n -> a
- rom :: forall (dom :: Domain) (n :: Nat) (m :: Nat) a. (NFDataX a, KnownNat n, KnownNat m, HiddenClock dom, HiddenEnable dom) => Vec n a -> Signal dom (Unsigned m) -> Signal dom a
- romPow2 :: forall (dom :: Domain) (n :: Nat) a. (KnownNat n, NFDataX a, HiddenClock dom, HiddenEnable dom) => Vec (2 ^ n) a -> Signal dom (Unsigned n) -> Signal dom a
- asyncRomBlob :: forall addr (n :: Nat) (m :: Nat). Enum addr => MemBlob n m -> addr -> BitVector m
- asyncRomBlobPow2 :: forall (n :: Nat) (m :: Nat). KnownNat n => MemBlob (2 ^ n) m -> Unsigned n -> BitVector m
- romBlob :: forall (dom :: Domain) addr (m :: Nat) (n :: Nat). (HiddenClock dom, HiddenEnable dom, Enum addr) => MemBlob n m -> Signal dom addr -> Signal dom (BitVector m)
- romBlobPow2 :: forall (dom :: Domain) (m :: Nat) (n :: Nat). (HiddenClock dom, HiddenEnable dom, KnownNat n) => MemBlob (2 ^ n) m -> Signal dom (Unsigned n) -> Signal dom (BitVector m)
- asyncRomFile :: forall (m :: Nat) addr (n :: Nat). (KnownNat m, Enum addr) => SNat n -> FilePath -> addr -> BitVector m
- asyncRomFilePow2 :: forall (n :: Nat) (m :: Nat). (KnownNat m, KnownNat n) => FilePath -> Unsigned n -> BitVector m
- romFile :: forall (m :: Nat) (n :: Nat) (dom :: Domain) addr. (KnownNat m, KnownNat n, HiddenClock dom, HiddenEnable dom, Enum addr) => SNat n -> FilePath -> Signal dom addr -> Signal dom (BitVector m)
- romFilePow2 :: forall (n :: Nat) (m :: Nat) (dom :: Domain). (KnownNat m, KnownNat n, HiddenClock dom, HiddenEnable dom) => FilePath -> Signal dom (Unsigned n) -> Signal dom (BitVector m)
- asyncRam :: forall addr (dom :: Domain) a (n :: Nat). (Enum addr, NFDataX addr, HiddenClock dom, HiddenEnable dom, HasCallStack, NFDataX a) => SNat n -> Signal dom addr -> Signal dom (Maybe (addr, a)) -> Signal dom a
- asyncRamPow2 :: forall (n :: Nat) (dom :: Domain) a. (KnownNat n, HiddenClock dom, HiddenEnable dom, HasCallStack, NFDataX a) => Signal dom (Unsigned n) -> Signal dom (Maybe (Unsigned n, a)) -> Signal dom a
- blockRam :: forall (dom :: Domain) a addr (n :: Nat). (HasCallStack, HiddenClock dom, HiddenEnable dom, NFDataX a, Enum addr, NFDataX addr) => Vec n a -> Signal dom addr -> Signal dom (Maybe (addr, a)) -> Signal dom a
- blockRamPow2 :: forall (dom :: Domain) a (n :: Nat). (HasCallStack, HiddenClock dom, HiddenEnable dom, NFDataX a, KnownNat n) => Vec (2 ^ n) a -> Signal dom (Unsigned n) -> Signal dom (Maybe (Unsigned n, a)) -> Signal dom a
- blockRamU :: forall (n :: Natural) (dom :: Domain) a (r :: Bool) addr. (HasCallStack, HiddenClockResetEnable dom, NFDataX a, Enum addr, NFDataX addr, 1 <= n) => ResetStrategy r -> SNat n -> (Index n -> a) -> Signal dom addr -> Signal dom (Maybe (addr, a)) -> Signal dom a
- blockRam1 :: forall (n :: Natural) (dom :: Domain) a (r :: Bool) addr. (HasCallStack, HiddenClockResetEnable dom, NFDataX a, Enum addr, NFDataX addr, 1 <= n) => ResetStrategy r -> SNat n -> a -> Signal dom addr -> Signal dom (Maybe (addr, a)) -> Signal dom a
- data ResetStrategy (r :: Bool) where
  - ClearOnReset :: ResetStrategy 'True
  - NoClearOnReset :: ResetStrategy 'False
- blockRamBlob :: forall (dom :: Domain) addr (m :: Nat) (n :: Nat). (HiddenClock dom, HiddenEnable dom, Enum addr, NFDataX addr) => MemBlob n m -> Signal dom addr -> Signal dom (Maybe (addr, BitVector m)) -> Signal dom (BitVector m)
- blockRamBlobPow2 :: forall (dom :: Domain) (m :: Nat) (n :: Nat). (HiddenClock dom, HiddenEnable dom, KnownNat n) => MemBlob (2 ^ n) m -> Signal dom (Unsigned n) -> Signal dom (Maybe (Unsigned n, BitVector m)) -> Signal dom (BitVector m)
- data MemBlob (n :: Nat) (m :: Nat)
- createMemBlob :: forall a f. (Foldable f, BitPack a) => String -> Maybe Bit -> f a -> DecsQ
- memBlobTH :: forall a f. (Foldable f, BitPack a) => Maybe Bit -> f a -> ExpQ
- unpackMemBlob :: forall (n :: Nat) (m :: Nat). MemBlob n m -> [BitVector m]
- blockRamFile :: forall (m :: Nat) addr (dom :: Domain) (n :: Nat). (KnownNat m, Enum addr, NFDataX addr, HiddenClock dom, HiddenEnable dom, HasCallStack) => SNat n -> FilePath -> Signal dom addr -> Signal dom (Maybe (addr, BitVector m)) -> Signal dom (BitVector m)
- blockRamFilePow2 :: forall (dom :: Domain) (n :: Nat) (m :: Nat). (KnownNat m, KnownNat n, HiddenClock dom, HiddenEnable dom, HasCallStack) => FilePath -> Signal dom (Unsigned n) -> Signal dom (Maybe (Unsigned n, BitVector m)) -> Signal dom (BitVector m)
- readNew :: forall (dom :: Domain) a addr. (HiddenClockResetEnable dom, NFDataX a, Eq addr) => (Signal dom addr -> Signal dom (Maybe (addr, a)) -> Signal dom a) -> Signal dom addr -> Signal dom (Maybe (addr, a)) -> Signal dom a
- trueDualPortBlockRam :: forall (nAddrs :: Nat) (dom :: Domain) a. (HasCallStack, KnownNat nAddrs, HiddenClock dom, NFDataX a) => Signal dom (RamOp nAddrs a) -> Signal dom (RamOp nAddrs a) -> (Signal dom a, Signal dom a)
- data RamOp (n :: Nat) a
  - = RamRead (Index n)
  - | RamWrite (Index n) a
  - | RamNoOp
- window :: forall (dom :: Domain) (n :: Nat) a. (HiddenClockResetEnable dom, KnownNat n, Default a, NFDataX a) => Signal dom a -> Vec (n + 1) (Signal dom a)
- windowD :: forall (dom :: Domain) (n :: Nat) a. (HiddenClockResetEnable dom, KnownNat n, Default a, NFDataX a) => Signal dom a -> Vec (n + 1) (Signal dom a)
- isRising :: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a, Bounded a, Eq a) => a -> Signal dom a -> Signal dom Bool
- isFalling :: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a, Bounded a, Eq a) => a -> Signal dom a -> Signal dom Bool
- riseEvery :: forall (dom :: Domain) (n :: Nat). HiddenClockResetEnable dom => SNat n -> Signal dom Bool
- oscillate :: forall (dom :: Domain) (n :: Nat). HiddenClockResetEnable dom => Bool -> SNat n -> Signal dom Bool
- traceSignal1 :: forall a (dom :: Domain). (BitPack a, NFDataX a, Typeable a) => String -> Signal dom a -> Signal dom a
- traceVecSignal1 :: forall (n :: Nat) a (dom :: Domain). (KnownNat n, BitPack a, NFDataX a, Typeable a) => String -> Signal dom (Vec (n + 1) a) -> Signal dom (Vec (n + 1) a)
- traceSignal :: forall (dom :: Domain) a. (KnownDomain dom, BitPack a, NFDataX a, Typeable a) => String -> Signal dom a -> Signal dom a
- traceVecSignal :: forall (dom :: Domain) a (n :: Nat). (KnownDomain dom, KnownNat n, BitPack a, NFDataX a, Typeable a) => String -> Signal dom (Vec (n + 1) a) -> Signal dom (Vec (n + 1) a)
- dumpVCD :: forall a (dom :: Domain). NFDataX a => (Int, Int) -> Signal dom a -> [String] -> IO (Either String Text)
- fromList :: forall a (dom :: Domain). NFDataX a => [a] -> Signal dom a
- sample :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) => (HiddenClockResetEnable dom => Signal dom a) -> [a]
- delay :: forall (dom :: Domain) a. (NFDataX a, HiddenClock dom, HiddenEnable dom) => a -> Signal dom a -> Signal dom a
- (.&&.) :: Applicative f => f Bool -> f Bool -> f Bool
- (.||.) :: Applicative f => f Bool -> f Bool -> f Bool
- data BiSignalDefault
  - = PullUp
  - | PullDown
  - | Floating
- data Signal (dom :: Domain) a
- data InitBehavior
  - = Unknown
  - | Defined
- (.==.) :: (Eq a, Applicative f) => f a -> f a -> f Bool
- (.>.) :: (Ord a, Applicative f) => f a -> f a -> f Bool
- (.>=.) :: (Ord a, Applicative f) => f a -> f a -> f Bool
- (.<.) :: (Ord a, Applicative f) => f a -> f a -> f Bool
- (.<=.) :: (Ord a, Applicative f) => f a -> f a -> f Bool
- register :: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a) => a -> Signal dom a -> Signal dom a
- class Bundle a where
  - type Unbundled (dom :: Domain) a = (res :: Type) | res -> dom a
  - bundle :: forall (dom :: Domain). Unbundled dom a -> Signal dom a
  - unbundle :: forall (dom :: Domain). Signal dom a -> Unbundled dom a
- type HiddenClockResetEnable (dom :: Domain) = (HiddenClock dom, HiddenReset dom, HiddenEnable dom)
- type HiddenClock (dom :: Domain) = (Hidden (HiddenClockName dom) (Clock dom), KnownDomain dom)
- type HiddenReset (dom :: Domain) = (Hidden (HiddenResetName dom) (Reset dom), KnownDomain dom)
- type HiddenEnable (dom :: Domain) = (Hidden (HiddenEnableName dom) (Enable dom), KnownDomain dom)
- type Domain = Symbol
- data Clock (dom :: Domain)
- data Reset (dom :: Domain)
- data Enable (dom :: Domain)
- class (KnownSymbol dom, KnownNat (DomainPeriod dom)) => KnownDomain (dom :: Domain) where
  - type KnownConf (dom :: Domain) :: DomainConfiguration
  - knownDomain :: SDomainConfiguration dom (KnownConf dom)
- fromEnable :: forall (dom :: Domain). Enable dom -> Signal dom Bool
- andEnable :: forall (dom :: Domain) r. HiddenEnable dom => Signal dom Bool -> (HiddenEnable dom => r) -> r
- mux :: Applicative f => f Bool -> f a -> f a -> f a
- type System = "System"
- clockPeriod :: forall (dom :: Domain) (period :: Nat). (KnownDomain dom, DomainPeriod dom ~ period) => SNat period
- resetSynchronizer :: forall (dom :: Domain). KnownDomain dom => Clock dom -> Reset dom -> Reset dom
- resetGlitchFilter :: forall (dom :: Domain) (glitchlessPeriod :: Natural). (HasCallStack, HasDefinedInitialValues dom, 1 <= glitchlessPeriod) => SNat glitchlessPeriod -> Clock dom -> Reset dom -> Reset dom
- holdReset :: forall (dom :: Domain) (m :: Nat). HiddenClockResetEnable dom => SNat m -> Reset dom
- resetGen :: forall (dom :: Domain). KnownDomain dom => Reset dom
- resetGenN :: forall (dom :: Domain) (n :: Natural). (KnownDomain dom, 1 <= n) => SNat n -> Reset dom
- resetKind :: forall (dom :: Domain) (sync :: ResetKind). (KnownDomain dom, DomainResetKind dom ~ sync) => SResetKind sync
- systemResetGen :: Reset System
- unsafeToReset :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeFromReset :: forall (dom :: Domain). Reset dom -> Signal dom Bool
- unsafeToActiveHigh :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool
- unsafeToActiveLow :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool
- unsafeFromActiveHigh :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeFromActiveLow :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeFromHighPolarity :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeFromLowPolarity :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeToHighPolarity :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool
- unsafeToLowPolarity :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool
- data BiSignalIn (ds :: BiSignalDefault) (dom :: Domain) (n :: Nat)
- data BiSignalOut (ds :: BiSignalDefault) (dom :: Domain) (n :: Nat)
- type KnownConfiguration (dom :: Domain) (conf :: DomainConfiguration) = (KnownDomain dom, KnownConf dom ~ conf)
- data ActiveEdge
  - = Rising
  - | Falling
- data SActiveEdge (edge :: ActiveEdge) where
  - SRising :: SActiveEdge 'Rising
  - SFalling :: SActiveEdge 'Falling
- data SInitBehavior (init :: InitBehavior) where
  - SUnknown :: SInitBehavior 'Unknown
  - SDefined :: SInitBehavior 'Defined
- data ResetKind
  - = Asynchronous
  - | Synchronous
- data SResetKind (resetKind :: ResetKind) where
  - SAsynchronous :: SResetKind 'Asynchronous
  - SSynchronous :: SResetKind 'Synchronous
- data ResetPolarity
  - = ActiveHigh
  - | ActiveLow
- data SResetPolarity (polarity :: ResetPolarity) where
  - SActiveHigh :: SResetPolarity 'ActiveHigh
  - SActiveLow :: SResetPolarity 'ActiveLow
- data DomainConfiguration = DomainConfiguration {
  - _name :: Domain
  - _period :: Nat
  - _activeEdge :: ActiveEdge
  - _resetKind :: ResetKind
  - _initBehavior :: InitBehavior
  - _resetPolarity :: ResetPolarity
  }
- data SDomainConfiguration (dom :: Domain) (conf :: DomainConfiguration) where
  - SDomainConfiguration :: forall (dom :: Domain) (period :: Nat) (edge :: ActiveEdge) (reset :: ResetKind) (init :: InitBehavior) (polarity :: ResetPolarity). {..} -> SDomainConfiguration dom ('DomainConfiguration dom period edge reset init polarity)
- type DomainPeriod (dom :: Domain) = DomainConfigurationPeriod (KnownConf dom)
- type DomainActiveEdge (dom :: Domain) = DomainConfigurationActiveEdge (KnownConf dom)
- type DomainResetKind (dom :: Domain) = DomainConfigurationResetKind (KnownConf dom)
- type DomainInitBehavior (dom :: Domain) = DomainConfigurationInitBehavior (KnownConf dom)
- type DomainResetPolarity (dom :: Domain) = DomainConfigurationResetPolarity (KnownConf dom)
- type HasSynchronousReset (dom :: Domain) = (KnownDomain dom, DomainResetKind dom ~ 'Synchronous)
- type HasAsynchronousReset (dom :: Domain) = (KnownDomain dom, DomainResetKind dom ~ 'Asynchronous)
- type HasDefinedInitialValues (dom :: Domain) = (KnownDomain dom, DomainInitBehavior dom ~ 'Defined)
- type XilinxSystem = "XilinxSystem"
- type IntelSystem = "IntelSystem"
- vSystem :: VDomainConfiguration
- vIntelSystem :: VDomainConfiguration
- vXilinxSystem :: VDomainConfiguration
- data VDomainConfiguration = VDomainConfiguration {
  - vName :: String
  - vPeriod :: Natural
  - vActiveEdge :: ActiveEdge
  - vResetKind :: ResetKind
  - vInitBehavior :: InitBehavior
  - vResetPolarity :: ResetPolarity
  }
- vDomain :: forall (dom :: Domain) (conf :: DomainConfiguration). SDomainConfiguration dom conf -> VDomainConfiguration
- createDomain :: VDomainConfiguration -> Q [Dec]
- knownVDomain :: forall (dom :: Domain). KnownDomain dom => VDomainConfiguration
- activeEdge :: forall (dom :: Domain) (edge :: ActiveEdge). (KnownDomain dom, DomainActiveEdge dom ~ edge) => SActiveEdge edge
- initBehavior :: forall (dom :: Domain) (init :: InitBehavior). (KnownDomain dom, DomainInitBehavior dom ~ init) => SInitBehavior init
- resetPolarity :: forall (dom :: Domain) (polarity :: ResetPolarity). (KnownDomain dom, DomainResetPolarity dom ~ polarity) => SResetPolarity polarity
- toEnable :: forall (dom :: Domain). Signal dom Bool -> Enable dom
- enableGen :: forall (dom :: Domain). Enable dom
- data DiffClock (dom :: Domain)
- periodToHz :: (HasCallStack, Fractional a) => Natural -> a
- hzToPeriod :: (HasCallStack, Integral a) => Ratio Natural -> a
- dflipflop :: forall (dom :: Domain) a. (HiddenClock dom, NFDataX a) => Signal dom a -> Signal dom a
- delayMaybe :: forall (dom :: Domain) a. (NFDataX a, HiddenClock dom, HiddenEnable dom) => a -> Signal dom (Maybe a) -> Signal dom a
- delayEn :: forall (dom :: Domain) a. (NFDataX a, HiddenClock dom, HiddenEnable dom) => a -> Signal dom Bool -> Signal dom a -> Signal dom a
- regMaybe :: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a) => a -> Signal dom (Maybe a) -> Signal dom a
- regEn :: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a) => a -> Signal dom Bool -> Signal dom a -> Signal dom a
- clockGen :: forall (dom :: Domain). KnownDomain dom => Clock dom
- systemClockGen :: Clock System
- data EmptyTuple = EmptyTuple
- data TaggedEmptyTuple (dom :: Domain) = TaggedEmptyTuple
- simulate :: forall (dom :: Domain) a b. (KnownDomain dom, NFDataX a, NFDataX b) => (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) -> [a] -> [b]
- simulateB :: forall (dom :: Domain) a b. (KnownDomain dom, Bundle a, Bundle b, NFDataX a, NFDataX b) => (HiddenClockResetEnable dom => Unbundled dom a -> Unbundled dom b) -> [a] -> [b]
- simulateWithReset :: forall (dom :: Domain) a b (m :: Natural). (KnownDomain dom, NFDataX a, NFDataX b, 1 <= m) => SNat m -> a -> (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) -> [a] -> [b]
- simulateWithResetN :: forall (dom :: Domain) a b (m :: Natural). (KnownDomain dom, NFDataX a, NFDataX b, 1 <= m) => SNat m -> a -> Int -> (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) -> [a] -> [b]
- runUntil :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a, ShowX a) => (a -> Bool) -> (HiddenClockResetEnable dom => Signal dom a) -> IO ()
- simulate_lazy :: forall (dom :: Domain) a b. KnownDomain dom => (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) -> [a] -> [b]
- simulateB_lazy :: forall (dom :: Domain) a b. (KnownDomain dom, Bundle a, Bundle b) => (HiddenClockResetEnable dom => Unbundled dom a -> Unbundled dom b) -> [a] -> [b]
- signalAutomaton :: forall (dom :: Domain) a b. KnownDomain dom => (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) -> Automaton (->) a b
- sampleN :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) => Int -> (HiddenClockResetEnable dom => Signal dom a) -> [a]
- sampleWithReset :: forall (dom :: Domain) a (m :: Natural). (KnownDomain dom, NFDataX a, 1 <= m) => SNat m -> (HiddenClockResetEnable dom => Signal dom a) -> [a]
- sampleWithResetN :: forall (dom :: Domain) a (m :: Natural). (KnownDomain dom, NFDataX a, 1 <= m) => SNat m -> Int -> (HiddenClockResetEnable dom => Signal dom a) -> [a]
- fromListWithReset :: forall (dom :: Domain) a. (HiddenReset dom, NFDataX a) => a -> [a] -> Signal dom a
- sample_lazy :: forall (dom :: Domain) a. KnownDomain dom => (HiddenClockResetEnable dom => Signal dom a) -> [a]
- sampleN_lazy :: forall (dom :: Domain) a. KnownDomain dom => Int -> (HiddenClockResetEnable dom => Signal dom a) -> [a]
- fromList_lazy :: forall a (dom :: Domain). [a] -> Signal dom a
- testFor :: forall (dom :: Domain). KnownDomain dom => Int -> (HiddenClockResetEnable dom => Signal dom Bool) -> Property
- (./=.) :: (Eq a, Applicative f) => f a -> f a -> f Bool
- veryUnsafeToBiSignalIn :: forall (n :: Nat) (ds :: BiSignalDefault) (d :: Domain). (HasCallStack, KnownNat n, Given (SBiSignalDefault ds)) => BiSignalOut ds d n -> BiSignalIn ds d n
- readFromBiSignal :: forall a (ds :: BiSignalDefault) (d :: Domain). (HasCallStack, BitPack a) => BiSignalIn ds d (BitSize a) -> Signal d a
- writeToBiSignal :: forall a (ds :: BiSignalDefault) (d :: Domain). (HasCallStack, BitPack a, NFDataX a) => BiSignalIn ds d (BitSize a) -> Signal d (Maybe a) -> BiSignalOut ds d (BitSize a)
- mergeBiSignalOuts :: forall (n :: Nat) (defaultState :: BiSignalDefault) (dom :: Domain) (m :: Nat). (HasCallStack, KnownNat n) => Vec n (BiSignalOut defaultState dom m) -> BiSignalOut defaultState dom m
- hideClock :: forall (dom :: Domain) r. HiddenClock dom => (Clock dom -> r) -> r
- hideEnable :: forall (dom :: Domain) r. HiddenEnable dom => (Enable dom -> r) -> r
- hideReset :: forall (dom :: Domain) r. HiddenReset dom => (Reset dom -> r) -> r
- hideClockResetEnable :: forall (dom :: Domain) r. HiddenClockResetEnable dom => (KnownDomain dom => Clock dom -> Reset dom -> Enable dom -> r) -> r
- sameDomain :: forall (domA :: Domain) (domB :: Domain). (KnownDomain domA, KnownDomain domB) => Maybe (domA :~: domB)
- exposeClock :: forall (dom :: Domain) r. (HiddenClock dom => r) -> KnownDomain dom => Clock dom -> r
- withClock :: forall (dom :: Domain) r. KnownDomain dom => Clock dom -> (HiddenClock dom => r) -> r
- hasClock :: forall (dom :: Domain). HiddenClock dom => Clock dom
- exposeReset :: forall (dom :: Domain) r. (HiddenReset dom => r) -> KnownDomain dom => Reset dom -> r
- withReset :: forall (dom :: Domain) r. KnownDomain dom => Reset dom -> (HiddenReset dom => r) -> r
- hasReset :: forall (dom :: Domain). HiddenReset dom => Reset dom
- exposeEnable :: forall (dom :: Domain) r. (HiddenEnable dom => r) -> KnownDomain dom => Enable dom -> r
- withEnable :: forall (dom :: Domain) r. KnownDomain dom => Enable dom -> (HiddenEnable dom => r) -> r
- hasEnable :: forall (dom :: Domain). HiddenEnable dom => Enable dom
- exposeClockResetEnable :: forall (dom :: Domain) r. (HiddenClockResetEnable dom => r) -> KnownDomain dom => Clock dom -> Reset dom -> Enable dom -> r
- withClockResetEnable :: forall (dom :: Domain) r. KnownDomain dom => Clock dom -> Reset dom -> Enable dom -> (HiddenClockResetEnable dom => r) -> r
- type SystemClockResetEnable = (Hidden (HiddenClockName System) (Clock System), Hidden (HiddenResetName System) (Reset System), Hidden (HiddenEnableName System) (Enable System))
- simulateN :: forall (dom :: Domain) a b. (KnownDomain dom, NFDataX a, NFDataX b) => Int -> (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) -> [a] -> [b]
- type family KnownConf (dom :: Domain) :: DomainConfiguration
- type family Unbundled (dom :: Domain) a = (res :: Type) | res -> dom a
- module Clash.Signal.Delayed
- module Clash.Sized.BitVector
- module Clash.Sized.Signed
- module Clash.Sized.Unsigned
- module Clash.Sized.Index
- module Clash.Sized.Fixed
- toList :: forall (n :: Nat) a. Vec n a -> [a]
- generate :: forall (n :: Nat) a. SNat n -> (a -> a) -> a -> Vec n a
- (++) :: forall (n :: Nat) a (m :: Nat). Vec n a -> Vec m a -> Vec (n + m) a
- foldr :: forall a b (n :: Nat). (a -> b -> b) -> b -> Vec n a -> b
- map :: forall a b (n :: Nat). (a -> b) -> Vec n a -> Vec n b
- indices :: forall (n :: Nat). KnownNat n => SNat n -> Vec n (Index n)
- unfoldr :: forall (n :: Nat) s a. SNat n -> (s -> (a, s)) -> s -> Vec n a
- transpose :: forall (n :: Nat) (m :: Nat) a. KnownNat n => Vec m (Vec n a) -> Vec n (Vec m a)
- concat :: forall (n :: Nat) (m :: Nat) a. Vec n (Vec m a) -> Vec (n * m) a
- zip :: forall (n :: Nat) a b. Vec n a -> Vec n b -> Vec n (a, b)
- head :: forall (n :: Natural) a. Vec (n + 1) a -> a
- tail :: forall (n :: Natural) a. Vec (n + 1) a -> Vec n a
- last :: forall (n :: Natural) a. Vec (n + 1) a -> a
- init :: forall (n :: Natural) a. Vec (n + 1) a -> Vec n a
- length :: forall (n :: Nat) a. KnownNat n => Vec n a -> Int
- foldl :: forall b a (n :: Nat). (b -> a -> b) -> b -> Vec n a -> b
- foldl1 :: forall a (n :: Natural). (a -> a -> a) -> Vec (n + 1) a -> a
- scanl :: forall b a (n :: Nat). (b -> a -> b) -> b -> Vec n a -> Vec (n + 1) b
- scanl1 :: forall (n :: Nat) a. KnownNat n => (a -> a -> a) -> Vec (n + 1) a -> Vec (n + 1) a
- foldr1 :: forall a (n :: Natural). (a -> a -> a) -> Vec (n + 1) a -> a
- scanr :: forall a b (n :: Nat). (a -> b -> b) -> b -> Vec n a -> Vec (n + 1) b
- scanr1 :: forall (n :: Nat) a. KnownNat n => (a -> a -> a) -> Vec (n + 1) a -> Vec (n + 1) a
- maximum :: forall a (n :: Natural). Ord a => Vec (n + 1) a -> a
- minimum :: forall a (n :: Natural). Ord a => Vec (n + 1) a -> a
- iterate :: forall (n :: Nat) a. SNat n -> (a -> a) -> a -> Vec n a
- repeat :: forall (n :: Nat) a. KnownNat n => a -> Vec n a
- replicate :: forall (n :: Nat) a. SNat n -> a -> Vec n a
- take :: forall (m :: Nat) (n :: Natural) a. SNat m -> Vec (m + n) a -> Vec m a
- drop :: forall (m :: Nat) (n :: Natural) a. SNat m -> Vec (m + n) a -> Vec n a
- splitAt :: forall (m :: Nat) (n :: Natural) a. SNat m -> Vec (m + n) a -> (Vec m a, Vec n a)
- reverse :: forall (n :: Nat) a. Vec n a -> Vec n a
- concatMap :: forall a (m :: Nat) b (n :: Nat). (a -> Vec m b) -> Vec n a -> Vec (n * m) b
- (!!) :: forall (n :: Nat) i a. (KnownNat n, Enum i) => Vec n a -> i -> a
- zip3 :: forall (n :: Nat) a b c. Vec n a -> Vec n b -> Vec n c -> Vec n (a, b, c)
- zipWith :: forall a b c (n :: Nat). (a -> b -> c) -> Vec n a -> Vec n b -> Vec n c
- zipWith3 :: forall a b c d (n :: Nat). (a -> b -> c -> d) -> Vec n a -> Vec n b -> Vec n c -> Vec n d
- unzip :: forall (n :: Nat) a b. Vec n (a, b) -> (Vec n a, Vec n b)
- unzip3 :: forall (n :: Nat) a b c. Vec n (a, b, c) -> (Vec n a, Vec n b, Vec n c)
- gather :: forall i (n :: Nat) a (m :: Nat). (Enum i, KnownNat n) => Vec n a -> Vec m i -> Vec m a
- fold :: forall (n :: Natural) a. (a -> a -> a) -> Vec (n + 1) a -> a
- elemIndex :: forall (n :: Nat) a. (KnownNat n, Eq a) => a -> Vec n a -> Maybe (Index n)
- findIndex :: forall (n :: Nat) a. KnownNat n => (a -> Bool) -> Vec n a -> Maybe (Index n)
- zip4 :: forall (n :: Nat) a b c d. Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n (a, b, c, d)
- zip5 :: forall (n :: Nat) a b c d e. Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n (a, b, c, d, e)
- zip6 :: forall (n :: Nat) a b c d e f. Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n (a, b, c, d, e, f)
- zip7 :: forall (n :: Nat) a b c d e f g. Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n g -> Vec n (a, b, c, d, e, f, g)
- zipWith4 :: forall a b c d e (n :: Nat). (a -> b -> c -> d -> e) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e
- zipWith5 :: forall a b c d e f (n :: Nat). (a -> b -> c -> d -> e -> f) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f
- zipWith6 :: forall a b c d e f g (n :: Nat). (a -> b -> c -> d -> e -> f -> g) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n g
- zipWith7 :: forall a b c d e f g h (n :: Nat). (a -> b -> c -> d -> e -> f -> g -> h) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n g -> Vec n h
- unzip4 :: forall (n :: Nat) a b c d. Vec n (a, b, c, d) -> (Vec n a, Vec n b, Vec n c, Vec n d)
- unzip5 :: forall (n :: Nat) a b c d e. Vec n (a, b, c, d, e) -> (Vec n a, Vec n b, Vec n c, Vec n d, Vec n e)
- unzip6 :: forall (n :: Nat) a b c d e f. Vec n (a, b, c, d, e, f) -> (Vec n a, Vec n b, Vec n c, Vec n d, Vec n e, Vec n f)
- unzip7 :: forall (n :: Nat) a b c d e f g. Vec n (a, b, c, d, e, f, g) -> (Vec n a, Vec n b, Vec n c, Vec n d, Vec n e, Vec n f, Vec n g)
- singleton :: a -> Vec 1 a
- mapAccumL :: forall acc x y (n :: Nat). (acc -> x -> (acc, y)) -> acc -> Vec n x -> (acc, Vec n y)
- mapAccumR :: forall acc x y (n :: Nat). (acc -> x -> (acc, y)) -> acc -> Vec n x -> (acc, Vec n y)
- merge :: forall (n :: Nat) a. KnownNat n => Vec n a -> Vec n a -> Vec (2 * n) a
- data Vec (a :: Nat) b where
  - Nil :: forall b. Vec 0 b
  - Cons :: forall b (n :: Natural). b -> Vec n b -> Vec (n + 1) b
  - pattern (:>) :: a -> Vec n a -> Vec (n + 1) a
  - pattern (:<) :: Vec n a -> a -> Vec (n + 1) a
- replace :: forall (n :: Nat) i a. (KnownNat n, Enum i) => i -> a -> Vec n a -> Vec n a
- interleave :: forall (n :: Nat) (d :: Nat) a. (KnownNat n, KnownNat d) => SNat d -> Vec (n * d) a -> Vec (d * n) a
- at :: forall (m :: Nat) (n :: Natural) a. SNat m -> Vec (m + (n + 1)) a -> a
- imap :: forall (n :: Nat) a b. KnownNat n => (Index n -> a -> b) -> Vec n a -> Vec n b
- ifoldr :: forall (n :: Nat) a b. KnownNat n => (Index n -> a -> b -> b) -> b -> Vec n a -> b
- ifoldl :: forall (n :: Nat) a b. KnownNat n => (a -> Index n -> b -> a) -> a -> Vec n b -> a
- select :: forall (i :: Natural) (s :: Natural) (n :: Natural) (f :: Nat) a. CmpNat (i + s) (s * n) ~ 'GT => SNat f -> SNat s -> SNat n -> Vec (f + i) a -> Vec n a
- lazyV :: forall (n :: Nat) a. KnownNat n => Vec n a -> Vec n a
- smap :: forall (k :: Nat) a b. KnownNat k => (forall (l :: Nat). SNat l -> a -> b) -> Vec k a -> Vec k b
- iterateI :: forall (n :: Nat) a. KnownNat n => (a -> a) -> a -> Vec n a
- traverse# :: forall a f b (n :: Nat). Applicative f => (a -> f b) -> Vec n a -> f (Vec n b)
- dtfold :: forall (p :: TyFun Nat Type -> Type) (k :: Nat) a. KnownNat k => Proxy p -> (a -> p @@ 0) -> (forall (l :: Nat). SNat l -> (p @@ l) -> (p @@ l) -> p @@ (l + 1)) -> Vec (2 ^ k) a -> p @@ k
- lengthS :: forall (n :: Nat) a. KnownNat n => Vec n a -> SNat n
- indicesI :: forall (n :: Nat). KnownNat n => Vec n (Index n)
- takeI :: forall (m :: Nat) (n :: Natural) a. KnownNat m => Vec (m + n) a -> Vec m a
- dropI :: forall (m :: Nat) (n :: Natural) a. KnownNat m => Vec (m + n) a -> Vec n a
- selectI :: forall (i :: Natural) (s :: Natural) (n :: Natural) (f :: Nat) a. (CmpNat (i + s) (s * n) ~ 'GT, KnownNat n) => SNat f -> SNat s -> Vec (f + i) a -> Vec n a
- splitAtI :: forall (m :: Nat) (n :: Natural) a. KnownNat m => Vec (m + n) a -> (Vec m a, Vec n a)
- unconcat :: forall (n :: Nat) (m :: Nat) a. KnownNat n => SNat m -> Vec (n * m) a -> Vec n (Vec m a)
- unconcatI :: forall (n :: Nat) (m :: Nat) a. (KnownNat n, KnownNat m) => Vec (n * m) a -> Vec n (Vec m a)
- generateI :: forall (n :: Nat) a. KnownNat n => (a -> a) -> a -> Vec n a
- unfoldrI :: forall (n :: Nat) s a. KnownNat n => (s -> (a, s)) -> s -> Vec n a
- listToVecTH :: Lift a => [a] -> ExpQ
- (+>>) :: forall (n :: Nat) a. KnownNat n => a -> Vec n a -> Vec n a
- (<<+) :: forall (n :: Nat) a. Vec n a -> a -> Vec n a
- shiftInAt0 :: forall (n :: Nat) a (m :: Nat). KnownNat n => Vec n a -> Vec m a -> (Vec n a, Vec m a)
- shiftInAtN :: forall (m :: Nat) (n :: Nat) a. KnownNat m => Vec n a -> Vec m a -> (Vec n a, Vec m a)
- shiftOutFrom0 :: forall a (m :: Nat) (n :: Natural). (Default a, KnownNat m) => SNat m -> Vec (m + n) a -> (Vec (m + n) a, Vec m a)
- shiftOutFromN :: forall a (n :: Nat) (m :: Nat). (Default a, KnownNat n) => SNat m -> Vec (m + n) a -> (Vec (m + n) a, Vec m a)
- permute :: forall i (n :: Nat) (m :: Nat) a (k :: Natural). (Enum i, KnownNat n, KnownNat m) => (a -> a -> a) -> Vec n a -> Vec m i -> Vec (m + k) a -> Vec n a
- backpermute :: forall i (n :: Nat) a (m :: Nat). (Enum i, KnownNat n) => Vec n a -> Vec m i -> Vec m a
- scatter :: forall i (n :: Nat) (m :: Nat) a (k :: Natural). (Enum i, KnownNat n, KnownNat m) => Vec n a -> Vec m i -> Vec (m + k) a -> Vec n a
- rotateLeft :: forall i (n :: Nat) a. (Enum i, KnownNat n) => Vec n a -> i -> Vec n a
- rotateRight :: forall i (n :: Nat) a. (Enum i, KnownNat n) => Vec n a -> i -> Vec n a
- rotateLeftS :: forall (n :: Nat) a (d :: Nat). KnownNat n => Vec n a -> SNat d -> Vec n a
- rotateRightS :: forall (n :: Nat) a (d :: Nat). KnownNat n => Vec n a -> SNat d -> Vec n a
- izipWith :: forall (n :: Nat) a b c. KnownNat n => (Index n -> a -> b -> c) -> Vec n a -> Vec n b -> Vec n c
- dfold :: forall (p :: TyFun Nat Type -> Type) (k :: Nat) a. KnownNat k => Proxy p -> (forall (l :: Nat). SNat l -> a -> (p @@ l) -> p @@ (l + 1)) -> (p @@ 0) -> Vec k a -> p @@ k
- vfold :: forall (k :: Nat) a b. KnownNat k => (forall (l :: Nat). SNat l -> a -> Vec l b -> Vec (l + 1) b) -> Vec k a -> Vec k b
- postscanl :: forall b a (n :: Nat). (b -> a -> b) -> b -> Vec n a -> Vec n b
- postscanr :: forall a b (n :: Nat). (a -> b -> b) -> b -> Vec n a -> Vec n b
- stencil1d :: forall (n :: Nat) (stX :: Natural) a b. KnownNat n => SNat (stX + 1) -> (Vec (stX + 1) a -> b) -> Vec ((stX + n) + 1) a -> Vec (n + 1) b
- stencil2d :: forall (n :: Nat) (m :: Nat) (stY :: Natural) (stX :: Natural) a b. (KnownNat n, KnownNat m) => SNat (stY + 1) -> SNat (stX + 1) -> (Vec (stY + 1) (Vec (stX + 1) a) -> b) -> Vec ((stY + m) + 1) (Vec ((stX + n) + 1) a) -> Vec (m + 1) (Vec (n + 1) b)
- windows1d :: forall (n :: Nat) (stX :: Natural) a. KnownNat n => SNat (stX + 1) -> Vec ((stX + n) + 1) a -> Vec (n + 1) (Vec (stX + 1) a)
- windows2d :: forall (n :: Nat) (m :: Nat) (stY :: Natural) (stX :: Natural) a. (KnownNat n, KnownNat m) => SNat (stY + 1) -> SNat (stX + 1) -> Vec ((stY + m) + 1) (Vec ((stX + n) + 1) a) -> Vec (m + 1) (Vec (n + 1) (Vec (stY + 1) (Vec (stX + 1) a)))
- bv2v :: forall (n :: Nat). KnownNat n => BitVector n -> Vec n Bit
- v2bv :: forall (n :: Nat). KnownNat n => Vec n Bit -> BitVector n
- data VCons a (f :: TyFun Nat Type)
- asNatProxy :: forall (n :: Nat) a. Vec n a -> Proxy n
- seqV :: forall (n :: Nat) a b. KnownNat n => Vec n a -> b -> b
- forceV :: forall (n :: Nat) a. KnownNat n => Vec n a -> Vec n a
- seqVX :: forall (n :: Nat) a b. KnownNat n => Vec n a -> b -> b
- forceVX :: forall (n :: Nat) a. KnownNat n => Vec n a -> Vec n a
- concatBitVector# :: forall (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m) => Vec n (BitVector m) -> BitVector (n * m)
- unconcatBitVector# :: forall (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m) => BitVector (n * m) -> Vec n (BitVector m)
- module Clash.Sized.RTree
- module Clash.Annotations.TopEntity
- class Generic a
- class Generic1 (f :: k -> Type)
- data Symbol
- data Natural
- type family (a :: Natural) - (b :: Natural) :: Natural where ...
- class KnownNat (n :: Nat) where
  - natSing :: SNat n
- class KnownSymbol (n :: Symbol) where
  - symbolSing :: SSymbol n
- class KnownChar (n :: Char) where
  - charSing :: SChar n
- type family TypeError (a :: ErrorMessage) :: b where ...
- type family AppendSymbol (a :: Symbol) (b :: Symbol) :: Symbol where ...
- type family (a :: Natural) + (b :: Natural) :: Natural where ...
- type family (a :: Natural) * (b :: Natural) :: Natural where ...
- type family (a :: Natural) ^ (b :: Natural) :: Natural where ...
- type family CmpSymbol (a :: Symbol) (b :: Symbol) :: Ordering where ...
- type family CmpNat (a :: Natural) (b :: Natural) :: Ordering where ...
- type family CmpChar (a :: Char) (b :: Char) :: Ordering where ...
- type family Div (a :: Natural) (b :: Natural) :: Natural where ...
- type family Mod (a :: Natural) (b :: Natural) :: Natural where ...
- type family Log2 (a :: Natural) :: Natural where ...
- type family ConsSymbol (a :: Char) (b :: Symbol) :: Symbol where ...
- type family UnconsSymbol (a :: Symbol) :: Maybe (Char, Symbol) where ...
- type family CharToNat (a :: Char) :: Natural where ...
- type family NatToChar (a :: Natural) :: Char where ...
- data ErrorMessage
  - = Text Symbol
  - | ShowType t
  - | ErrorMessage :<>: ErrorMessage
  - | ErrorMessage :$$: ErrorMessage
- type (<=) (x :: t) (y :: t) = Assert (x <=? y) (LeErrMsg x y :: Constraint)
- type (<=?) (m :: k) (n :: k) = OrdCond (Compare m n) 'True 'True 'False
- data OrderingI (a :: k) (b :: k) where
  - LTI :: forall {k} (a :: k) (b :: k). Compare a b ~ 'LT => OrderingI a b
  - EQI :: forall {k} (a :: k). Compare a a ~ 'EQ => OrderingI a a
  - GTI :: forall {k} (a :: k) (b :: k). Compare a b ~ 'GT => OrderingI a b
- data SomeNat = KnownNat n => SomeNat (Proxy n)
- type Nat = Natural
- natVal :: forall (n :: Nat) proxy. KnownNat n => proxy n -> Integer
- natVal' :: forall (n :: Nat). KnownNat n => Proxy# n -> Integer
- someNatVal :: Integer -> Maybe SomeNat
- sameNat :: forall (a :: Nat) (b :: Nat) proxy1 proxy2. (KnownNat a, KnownNat b) => proxy1 a -> proxy2 b -> Maybe (a :~: b)
- decideNat :: forall (a :: Nat) (b :: Nat) proxy1 proxy2. (KnownNat a, KnownNat b) => proxy1 a -> proxy2 b -> Either ((a :~: b) -> Void) (a :~: b)
- cmpNat :: forall (a :: Nat) (b :: Nat) proxy1 proxy2. (KnownNat a, KnownNat b) => proxy1 a -> proxy2 b -> OrderingI a b
- withKnownNat :: forall (n :: Nat) r. SNat n -> (KnownNat n => r) -> r
- withSomeSNat :: Integer -> (forall (n :: Nat). Maybe (SNat n) -> r) -> r
- data SChar (s :: Char)
- pattern SChar :: () => KnownChar c => SChar c
- data SomeChar = KnownChar n => SomeChar (Proxy n)
- data SomeSymbol = KnownSymbol n => SomeSymbol (Proxy n)
- symbolVal :: forall (n :: Symbol) proxy. KnownSymbol n => proxy n -> String
- symbolVal' :: forall (n :: Symbol). KnownSymbol n => Proxy# n -> String
- charVal :: forall (n :: Char) proxy. KnownChar n => proxy n -> Char
- charVal' :: forall (n :: Char). KnownChar n => Proxy# n -> Char
- someSymbolVal :: String -> SomeSymbol
- someCharVal :: Char -> SomeChar
- sameSymbol :: forall (a :: Symbol) (b :: Symbol) proxy1 proxy2. (KnownSymbol a, KnownSymbol b) => proxy1 a -> proxy2 b -> Maybe (a :~: b)
- decideSymbol :: forall (a :: Symbol) (b :: Symbol) proxy1 proxy2. (KnownSymbol a, KnownSymbol b) => proxy1 a -> proxy2 b -> Either ((a :~: b) -> Void) (a :~: b)
- sameChar :: forall (a :: Char) (b :: Char) proxy1 proxy2. (KnownChar a, KnownChar b) => proxy1 a -> proxy2 b -> Maybe (a :~: b)
- decideChar :: forall (a :: Char) (b :: Char) proxy1 proxy2. (KnownChar a, KnownChar b) => proxy1 a -> proxy2 b -> Either ((a :~: b) -> Void) (a :~: b)
- cmpSymbol :: forall (a :: Symbol) (b :: Symbol) proxy1 proxy2. (KnownSymbol a, KnownSymbol b) => proxy1 a -> proxy2 b -> OrderingI a b
- cmpChar :: forall (a :: Char) (b :: Char) proxy1 proxy2. (KnownChar a, KnownChar b) => proxy1 a -> proxy2 b -> OrderingI a b
- fromSSymbol :: forall (s :: Symbol). SSymbol s -> String
- withKnownSymbol :: forall (s :: Symbol) r. SSymbol s -> (KnownSymbol s => r) -> r
- withSomeSSymbol :: String -> (forall (s :: Symbol). SSymbol s -> r) -> r
- fromSChar :: forall (c :: Char). SChar c -> Char
- withKnownChar :: forall (c :: Char) r. SChar c -> (KnownChar c => r) -> r
- withSomeSChar :: Char -> (forall (c :: Char). SChar c -> r) -> r
- module GHC.TypeLits.Extra
- module Clash.Promoted.Nat
- module Clash.Promoted.Nat.Literals
- module Clash.Promoted.Nat.TH
- module Clash.Promoted.Symbol
- class Lift (t :: TYPE r) where
  - lift :: Quote m => t -> m Exp
  - liftTyped :: forall (m :: Type -> Type). Quote m => t -> Code m t
- class NFDataX a => AutoReg a
- autoReg :: forall (dom :: Domain) a. (HasCallStack, HiddenClockResetEnable dom, AutoReg a) => a -> Signal dom a -> Signal dom a
- deriveAutoReg :: Name -> DecsQ
- module Clash.Class.BitPack
- module Clash.Class.Exp
- module Clash.Class.Num
- module Clash.Class.Parity
- module Clash.Class.Resize
- module Control.Applicative
- module Data.Bits
- module Data.Default.Class
- type Type = TYPE LiftedRep
- type Constraint = CONSTRAINT LiftedRep
- module Clash.XException
- module Clash.NamedTypes
- module Clash.Hidden
- module Clash.Magic
- module Clash.HaskellPrelude

# Creating synchronous sequential circuits

mealy Source #

Arguments

:: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s) |
=> (s -> i -> (s, o)) | Transfer function in mealy machine form: `state -> input -> (newstate,output)`
-> s | Initial state
-> Signal dom i | Synchronous sequential function with input and output matching that of the mealy machine
-> Signal dom o |

Create a synchronous function from a combinational function describing a mealy machine

    macT
      :: Int        -- Current state
      -> (Int,Int)  -- Input
      -> (Int,Int)  -- (Updated state, output)
    macT s (x,y) = (s',s)
      where
        s' = x * y + s

    mac :: HiddenClockResetEnable dom  => Signal dom (Int, Int) -> Signal dom Int
    mac = mealy macT 0

    >>> simulate @System mac [(0,0),(1,1),(2,2),(3,3),(4,4)]
    [0,0,1,5,14...
    ...

Synchronous sequential functions can be composed just like their combinational counterpart:

    dualMac
      :: HiddenClockResetEnable dom
      => (Signal dom Int, Signal dom Int)
      -> (Signal dom Int, Signal dom Int)
      -> Signal dom Int
    dualMac (a,b) (x,y) = s1 + s2
      where
        s1 = mealy macT 0 (bundle (a,x))
        s2 = mealy macT 0 (bundle (b,y))

mealyS Source #

Arguments

:: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s) |
=> (i -> State s o) |
-> s | Initial state
-> Signal dom i | Synchronous sequential function with input and output matching that of the mealy machine
-> Signal dom o |

Create a synchronous function from a combinational function describing a mealy machine using the state monad. This can be particularly useful when combined with lenses or optics to replicate imperative algorithms.

    data DelayState = DelayState
      { _history    :: Vec 4 Int
      , _untilValid :: Index 4
      }
      deriving (Generic, NFDataX)
    makeLenses ''DelayState

    initialDelayState = DelayState (repeat 0) maxBound

    delayS :: Int -> State DelayState (Maybe Int)
    delayS n = do
      history   %= (n +>>)
      remaining <- use untilValid
      if remaining > 0
      then do
         untilValid -= 1
         return Nothing
       else do
         out <- uses history last
         return (Just out)

    delayTop :: HiddenClockResetEnable dom  => Signal dom Int -> Signal dom (Maybe Int)
    delayTop = mealyS delayS initialDelayState

    >>> L.take 7 $ simulate @System delayTop [1,2,3,4,5,6,7,8]
    [Nothing,Nothing,Nothing,Just 1,Just 2,Just 3,Just 4]
    ...

mealyB Source #

Arguments

:: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s, Bundle i, Bundle o) |
=> (s -> i -> (s, o)) | Transfer function in mealy machine form: `state -> input -> (newstate,output)`
-> s | Initial state
-> Unbundled dom i | Synchronous sequential function with input and output matching that of the mealy machine
-> Unbundled dom o |

A version of `mealy` that does automatic `Bundle`ing

Given a function `f` of type:

    f :: Int -> (Bool, Int) -> (Int, (Int, Bool))

When we want to make compositions of `f` in `g` using `mealy`, we have to write:

    g a b c = (b1,b2,i2)
      where
        (i1,b1) = unbundle (mealy f 0 (bundle (a,b)))
        (i2,b2) = unbundle (mealy f 3 (bundle (c,i1)))

Using `mealyB` however we can write:

    g a b c = (b1,b2,i2)
      where
        (i1,b1) = mealyB f 0 (a,b)
        (i2,b2) = mealyB f 3 (c,i1)

mealySB Source #

Arguments

:: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s, Bundle i, Bundle o) |
=> (i -> State s o) |
-> s | Initial state
-> Unbundled dom i | Synchronous sequential function with input and output matching that of the mealy machine
-> Unbundled dom o |

A version of `mealyS` that does automatic `Bundle`ing, see `mealyB` for details.

(<^>) Source #

Arguments

:: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s, Bundle i, Bundle o) |
=> (s -> i -> (s, o)) | Transfer function in mealy machine form: `state -> input -> (newstate,output)`
-> s | Initial state
-> Unbundled dom i | Synchronous sequential function with input and output matching that of the mealy machine
-> Unbundled dom o |

Infix version of `mealyB`

moore Source #

Arguments

:: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s) |
=> (s -> i -> s) | Transfer function in moore machine form: `state -> input -> newstate`
-> (s -> o) | Output function in moore machine form: `state -> output`
-> s | Initial state
-> Signal dom i | Synchronous sequential function with input and output matching that of the moore machine
-> Signal dom o |

Create a synchronous function from a combinational function describing a moore machine

    macT
      :: Int        -- Current state
      -> (Int,Int)  -- Input
      -> Int        -- Updated state
    macT s (x,y) = x * y + s

    mac
      :: HiddenClockResetEnable dom
      => Signal dom (Int, Int)
      -> Signal dom Int
    mac = moore mac id 0

    >>> simulate @System mac [(0,0),(1,1),(2,2),(3,3),(4,4)]
    [0,0,1,5,14,30,...
    ...

Synchronous sequential functions can be composed just like their combinational counterpart:

    dualMac
      :: HiddenClockResetEnable dom
      => (Signal dom Int, Signal dom Int)
      -> (Signal dom Int, Signal dom Int)
      -> Signal dom Int
    dualMac (a,b) (x,y) = s1 + s2
      where
        s1 = moore macT id 0 (bundle (a,x))
        s2 = moore macT id 0 (bundle (b,y))

mooreB Source #

Arguments

:: forall (dom :: Domain) s i o. (HiddenClockResetEnable dom, NFDataX s, Bundle i, Bundle o) |
=> (s -> i -> s) | Transfer function in moore machine form: `state -> input -> newstate`
-> (s -> o) | Output function in moore machine form: `state -> output`
-> s | Initial state
-> Unbundled dom i | Synchronous sequential function with input and output matching that of the moore machine
-> Unbundled dom o |

A version of `moore` that does automatic `Bundle`ing

Given a functions `t` and `o` of types:

    t :: Int -> (Bool, Int) -> Int
    o :: Int -> (Int, Bool)

When we want to make compositions of `t` and `o` in `g` using `moore`, we have to write:

    g a b c = (b1,b2,i2)
      where
        (i1,b1) = unbundle (moore t o 0 (bundle (a,b)))
        (i2,b2) = unbundle (moore t o 3 (bundle (c,i1)))

Using `mooreB` however we can write:

    g a b c = (b1,b2,i2)
      where
        (i1,b1) = mooreB t o 0 (a,b)
        (i2,b2) = mooreB t o 3 (c,i1)

registerB :: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a, Bundle a) => a -> Unbundled dom a -> Unbundled dom a infixr 3 Source #

Create a `register` function for product-type like signals (e.g. '(Signal a, Signal b)')

    rP :: HiddenClockResetEnable dom
       => (Signal dom Int, Signal dom Int)
       -> (Signal dom Int, Signal dom Int)
    rP = registerB (8,8)

    >>> simulateB @System rP [(1,1),(2,2),(3,3)] :: [(Int,Int)]
    [(8,8),(1,1),(2,2),(3,3)...
    ...

# ROMs

asyncRom Source #

Arguments

:: forall (n :: Nat) addr a. (KnownNat n, Enum addr, NFDataX a) |
=> Vec n a | ROM content, also determines the size, `n`, of the ROM NB: MUST be a constant
-> addr | Read address `r`
-> a | The value of the ROM at address `r`

An asynchronous/combinational ROM with space for `n` elements

### See also:

- See Clash.Sized.Fixed and Clash.Prelude.BlockRam for ideas on how to use ROMs and RAMs.
- A large `Vec` for the content may be too inefficient, depending on how it is constructed. See `asyncRomFile` and `asyncRomBlob` for different approaches that scale well.

asyncRomPow2 Source #

Arguments

:: forall (n :: Nat) a. (KnownNat n, NFDataX a) |
=> Vec (2 ^ n) a | ROM content NB: MUST be a constant
-> Unsigned n | Read address `r`
-> a | The value of the ROM at address `r`

An asynchronous/combinational ROM with space for 2^`n` elements

### See also:

- See Clash.Sized.Fixed and Clash.Prelude.BlockRam for ideas on how to use ROMs and RAMs.
- A large `Vec` for the content may be too inefficient, depending on how it is constructed. See `asyncRomFilePow2` and `asyncRomBlobPow2` for different approaches that scale well.

rom Source #

Arguments

:: forall (dom :: Domain) (n :: Nat) (m :: Nat) a. (NFDataX a, KnownNat n, KnownNat m, HiddenClock dom, HiddenEnable dom) |
=> Vec n a | ROM content, also determines the size, `n`, of the ROM NB: MUST be a constant
-> Signal dom (Unsigned m) | Read address `r`
-> Signal dom a | The value of the ROM at address `r` from the previous clock cycle

A ROM with a synchronous read port, with space for `n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`

### See also:

- See Clash.Sized.Fixed and Clash.Prelude.BlockRam for ideas on how to use ROMs and RAMs.
- A large `Vec` for the content may be too inefficient, depending on how it is constructed. See `romFile` and `romBlob` for different approaches that scale well.

romPow2 Source #

Arguments

:: forall (dom :: Domain) (n :: Nat) a. (KnownNat n, NFDataX a, HiddenClock dom, HiddenEnable dom) |
=> Vec (2 ^ n) a | ROM content NB: MUST be a constant
-> Signal dom (Unsigned n) | Read address `r`
-> Signal dom a | The value of the ROM at address `r` from the previous clock cycle

A ROM with a synchronous read port, with space for 2^`n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`

### See also:

- See Clash.Sized.Fixed and Clash.Prelude.BlockRam for ideas on how to use ROMs and RAMs.
- A large `Vec` for the content may be too inefficient, depending on how it is constructed. See `romFilePow2` and `romBlobPow2` for different approaches that scale well.

## ROMs defined by a `MemBlob`

asyncRomBlob Source #

Arguments

:: forall addr (n :: Nat) (m :: Nat). Enum addr |
=> MemBlob n m | ROM content, also determines the size, `n`, of the ROM NB: MUST be a constant
-> addr | Read address `r`
-> BitVector m | The value of the ROM at address `r`

An asynchronous/combinational ROM with space for `n` elements

### See also:

- See Clash.Sized.Fixed and Clash.Prelude.BlockRam for ideas on how to use ROMs and RAMs.

asyncRomBlobPow2 Source #

Arguments

:: forall (n :: Nat) (m :: Nat). KnownNat n |
=> MemBlob (2 ^ n) m | ROM content, also determines the size, 2^`n`, of the ROM NB: MUST be a constant
-> Unsigned n | Read address `r`
-> BitVector m | The value of the ROM at address `r`

An asynchronous/combinational ROM with space for 2^`n` elements

### See also:

- See Clash.Sized.Fixed and Clash.Prelude.BlockRam for ideas on how to use ROMs and RAMs.

romBlob Source #

Arguments

:: forall (dom :: Domain) addr (m :: Nat) (n :: Nat). (HiddenClock dom, HiddenEnable dom, Enum addr) |
=> MemBlob n m | ROM content, also determines the size, `n`, of the ROM NB: MUST be a constant
-> Signal dom addr | Read address `r`
-> Signal dom (BitVector m) | The value of the ROM at address `r` from the previous clock cycle

A ROM with a synchronous read port, with space for `n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`

### See also:

- See Clash.Sized.Fixed and Clash.Explicit.BlockRam for ideas on how to use ROMs and RAMs.

romBlobPow2 Source #

Arguments

:: forall (dom :: Domain) (m :: Nat) (n :: Nat). (HiddenClock dom, HiddenEnable dom, KnownNat n) |
=> MemBlob (2 ^ n) m | ROM content, also determines the size, 2^`n`, of the ROM NB: MUST be a constant
-> Signal dom (Unsigned n) | Read address `r`
-> Signal dom (BitVector m) | The value of the ROM at address `r` from the previous clock cycle

A ROM with a synchronous read port, with space for 2^`n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`

### See also:

- See Clash.Sized.Fixed and Clash.Explicit.BlockRam for ideas on how to use ROMs and RAMs.

## ROMs defined by a data file

asyncRomFile Source #

Arguments

:: forall (m :: Nat) addr (n :: Nat). (KnownNat m, Enum addr) |
=> SNat n | Size of the ROM
-> FilePath | File describing the content of the ROM
-> addr | Read address `r`
-> BitVector m | The value of the ROM at address `r`

An asynchronous/combinational ROM with space for `n` elements

- NB: This function might not work for specific combinations of code-generation backends and hardware targets. Please check the support table below:

| VHDL | Verilog | SystemVerilog
--- | --- | --- | ---
Altera/Quartus | Broken | Works | Works
Xilinx/ISE | Works | Works | Works
ASIC | Untested | Untested | Untested

### See also:

- See Clash.Prelude.ROM.File for more information on how to instantiate a ROM with the contents of a data file.
- See Clash.Sized.Fixed for ideas on how to create your own data files.

- When you notice that `asyncRomFile` is significantly slowing down your simulation, give it a monomorphic type signature. So instead of leaving the type to be inferred:

      myRomData = asyncRomFile d512 "memory.bin"

  or giving it a polymorphic type signature:

      myRomData :: Enum addr => addr -> BitVector 16
      myRomData = asyncRomFile d512 "memory.bin"

  you should give it a monomorphic type signature:

      myRomData :: Unsigned 9 -> BitVector 16
      myRomData = asyncRomFile d512 "memory.bin"

asyncRomFilePow2 Source #

Arguments

:: forall (n :: Nat) (m :: Nat). (KnownNat m, KnownNat n) |
=> FilePath | File describing the content of the ROM
-> Unsigned n | Read address `r`
-> BitVector m | The value of the ROM at address `r`

An asynchronous/combinational ROM with space for 2^`n` elements

- NB: This function might not work for specific combinations of code-generation backends and hardware targets. Please check the support table below:

| VHDL | Verilog | SystemVerilog
--- | --- | --- | ---
Altera/Quartus | Broken | Works | Works
Xilinx/ISE | Works | Works | Works
ASIC | Untested | Untested | Untested

### See also:

- See Clash.Prelude.ROM.File for more information on how to instantiate a ROM with the contents of a data file.
- See Clash.Sized.Fixed for ideas on how to create your own data files.

- When you notice that `asyncRomFilePow2` is significantly slowing down your simulation, give it a monomorphic type signature. So instead of leaving the type to be inferred:

      myRomData = asyncRomFilePow2 "memory.bin"

  you should give it a monomorphic type signature:

      myRomData :: Unsigned 9 -> BitVector 16
      myRomData = asyncRomFilePow2 "memory.bin"

romFile Source #

Arguments

:: forall (m :: Nat) (n :: Nat) (dom :: Domain) addr. (KnownNat m, KnownNat n, HiddenClock dom, HiddenEnable dom, Enum addr) |
=> SNat n | Size of the ROM
-> FilePath | File describing the content of the ROM
-> Signal dom addr | Read address `r`
-> Signal dom (BitVector m) | The value of the ROM at address `r` from the previous clock cycle

A ROM with a synchronous read port, with space for `n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`
- NB: This function might not work for specific combinations of code-generation backends and hardware targets. Please check the support table below:

| VHDL | Verilog | SystemVerilog
--- | --- | --- | ---
Altera/Quartus | Broken | Works | Works
Xilinx/ISE | Works | Works | Works
ASIC | Untested | Untested | Untested

### See also:

- See Clash.Prelude.ROM.File for more information on how to instantiate a ROM with the contents of a data file.
- See Clash.Sized.Fixed for ideas on how to create your own data files.

romFilePow2 Source #

Arguments

:: forall (n :: Nat) (m :: Nat) (dom :: Domain). (KnownNat m, KnownNat n, HiddenClock dom, HiddenEnable dom) |
=> FilePath | File describing the content of the ROM
-> Signal dom (Unsigned n) | Read address `r`
-> Signal dom (BitVector m) | The value of the ROM at address `r` from the previous clock cycle

A ROM with a synchronous read port, with space for 2^`n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`
- NB: This function might not work for specific combinations of code-generation backends and hardware targets. Please check the support table below:

| VHDL | Verilog | SystemVerilog
--- | --- | --- | ---
Altera/Quartus | Broken | Works | Works
Xilinx/ISE | Works | Works | Works
ASIC | Untested | Untested | Untested

### See also:

- See Clash.Prelude.ROM.File for more information on how to instantiate a ROM with the contents of a data file.
- See Clash.Sized.Fixed for ideas on how to create your own data files.

# RAM primitives with a combinational read port

asyncRam Source #

Arguments

:: forall addr (dom :: Domain) a (n :: Nat). (Enum addr, NFDataX addr, HiddenClock dom, HiddenEnable dom, HasCallStack, NFDataX a) |
=> SNat n | Size `n` of the RAM
-> Signal dom addr | Read address `r`
-> Signal dom (Maybe (addr, a)) | (write address `w`, value to write)
-> Signal dom a | Value of the RAM at address `r`

Create a RAM with space for `n` elements

- NB: Initial content of the RAM is undefined, reading it will throw an `XException`

### See also:

- See Clash.Prelude.BlockRam for more information on how to use a RAM.

asyncRamPow2 Source #

Arguments

:: forall (n :: Nat) (dom :: Domain) a. (KnownNat n, HiddenClock dom, HiddenEnable dom, HasCallStack, NFDataX a) |
=> Signal dom (Unsigned n) | Read address `r`
-> Signal dom (Maybe (Unsigned n, a)) | (write address `w`, value to write)
-> Signal dom a | Value of the RAM at address `r`

Create a RAM with space for 2^`n` elements

- NB: Initial content of the RAM is undefined, reading it will throw an `XException`

### See also:

- See Clash.Prelude.BlockRam for more information on how to use a RAM.

# Block RAM primitives

blockRam Source #

Arguments

:: forall (dom :: Domain) a addr (n :: Nat). (HasCallStack, HiddenClock dom, HiddenEnable dom, NFDataX a, Enum addr, NFDataX addr) |
=> Vec n a | Initial content of the BRAM, also determines the size, `n`, of the BRAM NB: MUST be a constant
-> Signal dom addr | Read address `r`
-> Signal dom (Maybe (addr, a)) | (write address `w`, value to write)
-> Signal dom a | Value of the BRAM at address `r` from the previous clock cycle

Create a block RAM with space for `n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`

### See also:

- See Clash.Prelude.BlockRam for more information on how to use a Block RAM.
- Use the adapter `readNew` for obtaining write-before-read semantics like this: ``readNew` (`blockRam` inits) rd wrM`.
- A large `Vec` for the initial content may be too inefficient, depending on how it is constructed. See `blockRamFile` and `blockRamBlob` for different approaches that scale well.

### Example

Expand

    bram40
      :: HiddenClock dom
      => Signal dom (Unsigned 6)
      -> Signal dom (Maybe (Unsigned 6, Bit))
      -> Signal dom Bit
    bram40 = blockRam (replicate d40 1)

blockRamPow2 Source #

Arguments

:: forall (dom :: Domain) a (n :: Nat). (HasCallStack, HiddenClock dom, HiddenEnable dom, NFDataX a, KnownNat n) |
=> Vec (2 ^ n) a | Initial content of the BRAM NB: MUST be a constant.
-> Signal dom (Unsigned n) | Read address `r`
-> Signal dom (Maybe (Unsigned n, a)) | (write address `w`, value to write)
-> Signal dom a | Value of the `blockRAM` at address `r` from the previous clock cycle

Create a block RAM with space for 2^`n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`

### See also:

- See Clash.Prelude.BlockRam for more information on how to use a block RAM.
- Use the adapter `readNew` for obtaining write-before-read semantics like this: ``readNew` (`blockRamPow2` inits) rd wrM`.
- A large `Vec` for the initial content may be too inefficient, depending on how it is constructed. See `blockRamFilePow2` and `blockRamBlobPow2` for different approaches that scale well.

### Example

Expand

    bram32
      :: HiddenClock dom
      => Signal dom (Unsigned 5)
      -> Signal dom (Maybe (Unsigned 5, Bit))
      -> Signal dom Bit
    bram32 = blockRamPow2 (replicate d32 1)

blockRamU Source #

Arguments

:: forall (n :: Natural) (dom :: Domain) a (r :: Bool) addr. (HasCallStack, HiddenClockResetEnable dom, NFDataX a, Enum addr, NFDataX addr, 1 <= n) |
=> ResetStrategy r | Whether to clear BRAM on asserted reset (`ClearOnReset`) or not (`NoClearOnReset`). The reset needs to be asserted for at least n cycles to clear the BRAM.
-> SNat n | Number of elements in BRAM
-> (Index n -> a) | If applicable (see first argument), reset BRAM using this function
-> Signal dom addr | Read address `r`
-> Signal dom (Maybe (addr, a)) | (write address `w`, value to write)
-> Signal dom a | Value of the BRAM at address `r` from the previous clock cycle

A version of `blockRam` that has no default values set. May be cleared to an arbitrary state using a reset function.

blockRam1 Source #

Arguments

:: forall (n :: Natural) (dom :: Domain) a (r :: Bool) addr. (HasCallStack, HiddenClockResetEnable dom, NFDataX a, Enum addr, NFDataX addr, 1 <= n) |
=> ResetStrategy r | Whether to clear BRAM on asserted reset (`ClearOnReset`) or not (`NoClearOnReset`). The reset needs to be asserted for at least n cycles to clear the BRAM.
-> SNat n | Number of elements in BRAM
-> a | Initial content of the BRAM (replicated n times)
-> Signal dom addr | Read address `r`
-> Signal dom (Maybe (addr, a)) | (write address `w`, value to write)
-> Signal dom a | Value of the BRAM at address `r` from the previous clock cycle

A version of `blockRam` that is initialized with the same value on all memory positions

data ResetStrategy (r :: Bool) where Source #

Constructors

ClearOnReset :: ResetStrategy 'True |
NoClearOnReset :: ResetStrategy 'False |

## Block RAM primitives initialized with a `MemBlob`

blockRamBlob Source #

Arguments

:: forall (dom :: Domain) addr (m :: Nat) (n :: Nat). (HiddenClock dom, HiddenEnable dom, Enum addr, NFDataX addr) |
=> MemBlob n m | Initial content of the BRAM, also determines the size, `n`, of the BRAM NB: MUST be a constant
-> Signal dom addr | Read address `r`
-> Signal dom (Maybe (addr, BitVector m)) | (write address `w`, value to write)
-> Signal dom (BitVector m) | Value of the BRAM at address `r` from the previous clock cycle

Create a block RAM with space for `n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`

### See also:

- See Clash.Prelude.BlockRam for more information on how to use a block RAM.
- Use the adapter `readNew` for obtaining write-before-read semantics like this: ``readNew` (`blockRamBlob` content) rd wrM`.

blockRamBlobPow2 Source #

Arguments

:: forall (dom :: Domain) (m :: Nat) (n :: Nat). (HiddenClock dom, HiddenEnable dom, KnownNat n) |
=> MemBlob (2 ^ n) m | Initial content of the BRAM, also determines the size, 2^`n`, of the BRAM NB: MUST be a constant
-> Signal dom (Unsigned n) | Read address `r`
-> Signal dom (Maybe (Unsigned n, BitVector m)) | (write address `w`, value to write)
-> Signal dom (BitVector m) | Value of the BRAM at address `r` from the previous clock cycle

Create a block RAM with space for 2^`n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`

### See also:

- See Clash.Prelude.BlockRam for more information on how to use a block RAM.
- Use the adapter `readNew` for obtaining write-before-read semantics like this: ``readNew` (`blockRamBlobPow2` content) rd wrM`.

### Creating and inspecting `MemBlob`

data MemBlob (n :: Nat) (m :: Nat) Source #

Efficient storage of memory content

It holds `n` words of ``BitVector` m`.

#### Instances

Instances details

Show (MemBlob n m) Source # |
Instance details Defined in Clash.Explicit.BlockRam.Internal Methods showsPrec :: Int -> MemBlob n m -> ShowS Source # show :: MemBlob n m -> String Source # showList :: [MemBlob n m] -> ShowS Source #

createMemBlob Source #

Arguments

:: forall a f. (Foldable f, BitPack a) |
=> String | Name of the binding to generate
-> Maybe Bit | Value to map don't care bits to. `Nothing` means throwing an error on don't care bits.
-> f a | The content for the `MemBlob`
-> DecsQ |

Create a `MemBlob` binding from a list of values

Since this uses Template Haskell, nothing in the arguments given to `createMemBlob` can refer to something defined in the same module.

### Example

Expand

    createMemBlob "content" Nothing [15 :: Unsigned 8 .. 17]

    ram clk en = blockRamBlob clk en content

The `Maybe` datatype has don't care bits, where the actual value does not matter. But the bits need a defined value in the memory. Either 0 or 1 can be used, and both are valid representations of the data.

    >>> import qualified Prelude as P
    >>> let es = [ Nothing, Just (7 :: Unsigned 8), Just 8 ]
    >>> :{
    createMemBlob "content0" (Just 0) es
    createMemBlob "content1" (Just 1) es
    x = 1
    :}

    >>> let pr = mapM_ (putStrLn . show)
    >>> pr $ P.map pack es
    0b0_...._....
    0b1_0000_0111
    0b1_0000_1000
    >>> pr $ unpackMemBlob content0
    0b0_0000_0000
    0b1_0000_0111
    0b1_0000_1000
    >>> pr $ unpackMemBlob content1
    0b0_1111_1111
    0b1_0000_0111
    0b1_0000_1000

    >>> :{
    createMemBlob "contentN" Nothing es
    x = 1
    :}
    <interactive>:...: error:...
        packBVs: cannot convert don't care values. Please specify a mapping to a definite value.

# 297 "srcClashExplicitBlockRamBlob.hs" Note how we hinted to `clashi` that our multi-line command was a list of declarations by including a dummy declaration `x = 1`. Without this trick, `clashi` would expect an expression and the Template Haskell would not work.

memBlobTH Source #

Arguments

:: forall a f. (Foldable f, BitPack a) |
=> Maybe Bit | Value to map don't care bits to. `Nothing` means throwing an error on don't care bits.
-> f a | The content for the `MemBlob`
-> ExpQ |

Create a `MemBlob` from a list of values

Since this uses Template Haskell, nothing in the arguments given to `memBlobTH` can refer to something defined in the same module.

### Example

Expand

    ram clk en = blockRamBlob clk en $(memBlobTH Nothing [15 :: Unsigned 8 .. 17])

The `Maybe` datatype has don't care bits, where the actual value does not matter. But the bits need a defined value in the memory. Either 0 or 1 can be used, and both are valid representations of the data.

    >>> import qualified Prelude as P
    >>> let es = [ Nothing, Just (7 :: Unsigned 8), Just 8 ]
    >>> content0 = $(memBlobTH (Just 0) es)
    >>> content1 = $(memBlobTH (Just 1) es)
    >>> let pr = mapM_ (putStrLn . show)
    >>> pr $ P.map pack es
    0b0_...._....
    0b1_0000_0111
    0b1_0000_1000
    >>> pr $ unpackMemBlob content0
    0b0_0000_0000
    0b1_0000_0111
    0b1_0000_1000
    >>> pr $ unpackMemBlob content1
    0b0_1111_1111
    0b1_0000_0111
    0b1_0000_1000

    >>> $(memBlobTH Nothing es)
    <interactive>:...: error:...
        • packBVs: cannot convert don't care values. Please specify a mapping to a definite value.
        • In the untyped splice: $(memBlobTH Nothing es)

# 384 "srcClashExplicitBlockRamBlob.hs"

unpackMemBlob :: forall (n :: Nat) (m :: Nat). MemBlob n m -> [BitVector m] Source #

Convert a `MemBlob` back to a list

NB: Not synthesizable

## Block RAM primitives initialized with a data file

blockRamFile Source #

Arguments

:: forall (m :: Nat) addr (dom :: Domain) (n :: Nat). (KnownNat m, Enum addr, NFDataX addr, HiddenClock dom, HiddenEnable dom, HasCallStack) |
=> SNat n | Size of the BRAM
-> FilePath | File describing the initial content of the BRAM
-> Signal dom addr | Read address `r`
-> Signal dom (Maybe (addr, BitVector m)) | (write address `w`, value to write)
-> Signal dom (BitVector m) | Value of the BRAM at address `r` from the previous clock cycle

Create a block RAM with space for `n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`
- NB: This function might not work for specific combinations of code-generation backends and hardware targets. Please check the support table below:

| VHDL | Verilog | SystemVerilog
--- | --- | --- | ---
Altera/Quartus | Broken | Works | Works
Xilinx/ISE | Works | Works | Works
ASIC | Untested | Untested | Untested

### See also:

- See Clash.Prelude.BlockRam for more information on how to use a block RAM.
- Use the adapter `readNew` for obtaining write-before-read semantics like this: ``readNew` (`blockRamFile` size file) rd wrM`.
- See Clash.Prelude.BlockRam.File for more information on how to instantiate a block RAM with the contents of a data file.
- See Clash.Sized.Fixed for ideas on how to create your own data files.

blockRamFilePow2 Source #

Arguments

:: forall (dom :: Domain) (n :: Nat) (m :: Nat). (KnownNat m, KnownNat n, HiddenClock dom, HiddenEnable dom, HasCallStack) |
=> FilePath | File describing the initial content of the BRAM
-> Signal dom (Unsigned n) | Read address `r`
-> Signal dom (Maybe (Unsigned n, BitVector m)) | (write address `w`, value to write)
-> Signal dom (BitVector m) | Value of the BRAM at address `r` from the previous clock cycle

Create a block RAM with space for 2^`n` elements

- NB: Read value is delayed by 1 cycle
- NB: Initial output value is undefined, reading it will throw an `XException`
- NB: This function might not work for specific combinations of code-generation backends and hardware targets. Please check the support table below:

| VHDL | Verilog | SystemVerilog
--- | --- | --- | ---
Altera/Quartus | Broken | Works | Works
Xilinx/ISE | Works | Works | Works
ASIC | Untested | Untested | Untested

### See also:

- See Clash.Prelude.BlockRam for more information on how to use a block RAM.
- Use the adapter `readNew` for obtaining write-before-read semantics like this: ``readNew` (`blockRamFilePow2` file) rd wrM`.
- See Clash.Prelude.BlockRam.File for more information on how to instantiate a block RAM with the contents of a data file.
- See Clash.Sized.Fixed for ideas on how to create your own data files.

## Block RAM read/write conflict resolution

readNew Source #

Arguments

:: forall (dom :: Domain) a addr. (HiddenClockResetEnable dom, NFDataX a, Eq addr) |
=> (Signal dom addr -> Signal dom (Maybe (addr, a)) -> Signal dom a) | The BRAM component
-> Signal dom addr | Read address `r`
-> Signal dom (Maybe (addr, a)) | (Write address `w`, value to write)
-> Signal dom a | Value of the BRAM at address `r` from the previous clock cycle

Create a read-after-write block RAM from a read-before-write one

    >>> :t readNew (blockRam (0 :> 1 :> Nil))
    readNew (blockRam (0 :> 1 :> Nil))
      :: ...
         ...
         ... =>
         Signal dom addr -> Signal dom (Maybe (addr, a)) -> Signal dom a

# 867 "srcClashPrelude/BlockRam.hs"

## True dual-port block RAM

trueDualPortBlockRam Source #

Arguments

:: forall (nAddrs :: Nat) (dom :: Domain) a. (HasCallStack, KnownNat nAddrs, HiddenClock dom, NFDataX a) |
=> Signal dom (RamOp nAddrs a) | RAM operation for port A
-> Signal dom (RamOp nAddrs a) | RAM operation for port B
-> (Signal dom a, Signal dom a) | Outputs data on next cycle. When writing, the data written will be echoed. When reading, the read data is returned.

Produces vendor-agnostic HDL that will be inferred as a true dual-port block RAM

Any value that is being written on a particular port is also the value that will be read on that port, i.e. the same-port read/write behavior is: WriteFirst. For mixed-port read/write, when port A writes to the address port B reads from, the output of port B is undefined, and vice versa.

data RamOp (n :: Nat) a Source #

Port operation

Constructors

RamRead (Index n) | Read from address
RamWrite (Index n) a | Write data to address
RamNoOp | No operation

#### Instances

Instances details

(AutoReg a, KnownNat n) => AutoReg (RamOp n a) Source # |
Instance details Defined in Clash.Explicit.BlockRam Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> RamOp n a -> Signal dom (RamOp n a) -> Signal dom (RamOp n a) Source #
NFDataX a => NFDataX (RamOp n a) Source # |
Instance details Defined in Clash.Explicit.BlockRam Methods deepErrorX :: String -> RamOp n a Source # hasUndefined :: RamOp n a -> Bool Source # ensureSpine :: RamOp n a -> RamOp n a Source # rnfX :: RamOp n a -> () Source #
Generic (RamOp n a) Source # |

Instance details

Defined in Clash.Explicit.BlockRam

Associated Types

type Rep (RamOp n a) |

Instance details

Defined in Clash.Explicit.BlockRam

type Rep (RamOp n a) = D1 ('MetaData "RamOp" "Clash.Explicit.BlockRam" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "RamRead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Index n))) :+: (C1 ('MetaCons "RamWrite" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Index n)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "RamNoOp" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: RamOp n a -> Rep (RamOp n a) x Source #

to :: Rep (RamOp n a) x -> RamOp n a Source #

Show a => Show (RamOp n a) Source # |
Instance details Defined in Clash.Explicit.BlockRam Methods showsPrec :: Int -> RamOp n a -> ShowS Source # show :: RamOp n a -> String Source # showList :: [RamOp n a] -> ShowS Source #
type Rep (RamOp n a) Source # |

Instance details

Defined in Clash.Explicit.BlockRam

type Rep (RamOp n a) = D1 ('MetaData "RamOp" "Clash.Explicit.BlockRam" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "RamRead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Index n))) :+: (C1 ('MetaCons "RamWrite" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Index n)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "RamNoOp" 'PrefixI 'False) (U1 :: Type -> Type)))

# Utility functions

window Source #

Arguments

:: forall (dom :: Domain) (n :: Nat) a. (HiddenClockResetEnable dom, KnownNat n, Default a, NFDataX a) |
=> Signal dom a | Signal to create a window over
-> Vec (n + 1) (Signal dom a) | Window of at least size 1

Give a window over a `Signal`

    window4 :: HiddenClockResetEnable dom
            => Signal dom Int -> Vec 4 (Signal dom Int)
    window4 = window

    >>> simulateB @System window4 [1::Int,2,3,4,5] :: [Vec 4 Int]
    [1 :> 0 :> 0 :> 0 :> Nil,2 :> 1 :> 0 :> 0 :> Nil,3 :> 2 :> 1 :> 0 :> Nil,4 :> 3 :> 2 :> 1 :> Nil,5 :> 4 :> 3 :> 2 :> Nil,...
    ...

windowD Source #

Arguments

:: forall (dom :: Domain) (n :: Nat) a. (HiddenClockResetEnable dom, KnownNat n, Default a, NFDataX a) |
=> Signal dom a | Signal to create a window over
-> Vec (n + 1) (Signal dom a) | Window of at least size 1

Give a delayed window over a `Signal`

    windowD3
      :: HiddenClockResetEnable dom
      => Signal dom Int
      -> Vec 3 (Signal dom Int)
    windowD3 = windowD

    >>> simulateB @System windowD3 [1::Int,2,3,4] :: [Vec 3 Int]
    [0 :> 0 :> 0 :> Nil,1 :> 0 :> 0 :> Nil,2 :> 1 :> 0 :> Nil,3 :> 2 :> 1 :> Nil,4 :> 3 :> 2 :> Nil,...
    ...

isRising Source #

Arguments

:: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a, Bounded a, Eq a) |
=> a | Starting value
-> Signal dom a |
-> Signal dom Bool |

Give a pulse when the `Signal` goes from `minBound` to `maxBound`

isFalling Source #

Arguments

:: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a, Bounded a, Eq a) |
=> a | Starting value
-> Signal dom a |
-> Signal dom Bool |

Give a pulse when the `Signal` goes from `maxBound` to `minBound`

riseEvery :: forall (dom :: Domain) (n :: Nat). HiddenClockResetEnable dom => SNat n -> Signal dom Bool Source #

Give a pulse every `n` clock cycles. This is a useful helper function when combined with functions like ``regEn`` or ``mux``, in order to delay a register by a known amount.

To be precise: the given signal will be ``False`` for the next `n-1` cycles, followed by a single ``True`` value:

    >>> Prelude.last (sampleN @System 1025 (riseEvery d1024)) == True
    True
    >>> Prelude.or (sampleN @System 1024 (riseEvery d1024)) == False
    True

For example, to update a counter once every 10 million cycles:

    counter = regEn 0 (riseEvery (SNat :: SNat 10000000)) (counter + 1)

oscillate :: forall (dom :: Domain) (n :: Nat). HiddenClockResetEnable dom => Bool -> SNat n -> Signal dom Bool Source #

Oscillate a ``Bool`` for a given number of cycles. This is a convenient function when combined with something like ``regEn``, as it allows you to easily hold a register value for a given number of cycles. The input ``Bool`` determines what the initial value is.

To oscillate on an interval of 5 cycles:

    >>> sampleN @System 11 (oscillate False d5)
    [False,False,False,False,False,False,True,True,True,True,True]

To oscillate between ``True`` and ``False``:

    >>> sampleN @System 11 (oscillate False d1)
    [False,False,True,False,True,False,True,False,True,False,True]

An alternative definition for the above could be:

    >>> let osc' = register False (not <$> osc')
    >>> sampleN @System 200 (oscillate False d1) == sampleN @System 200 osc'
    True

# Tracing

## Simple

traceSignal1 Source #

Arguments

:: forall a (dom :: Domain). (BitPack a, NFDataX a, Typeable a) |
=> String | Name of signal in the VCD output
-> Signal dom a | Signal to trace
-> Signal dom a |

Trace a single signal. Will emit an error if a signal with the same name was previously registered.

NB: Associates the traced signal with a clock period of 1, which results in incorrect VCD files when working with circuits that have multiple clocks. Use `traceSignal` when working with circuits that have multiple clocks.

traceVecSignal1 Source #

Arguments

:: forall (n :: Nat) a (dom :: Domain). (KnownNat n, BitPack a, NFDataX a, Typeable a) |
=> String | Name of signal in debugging output. Will be appended by _0, _1, ..., _n.
-> Signal dom (Vec (n + 1) a) | Signal to trace
-> Signal dom (Vec (n + 1) a) |

Trace a single vector signal: each element in the vector will show up as a different trace. If the trace name already exists, this function will emit an error.

NB: Associates the traced signal with a clock period of 1, which results in incorrect VCD files when working with circuits that have multiple clocks. Use `traceSignal` when working with circuits that have multiple clocks.

## Tracing in a multi-clock environment

traceSignal Source #

Arguments

:: forall (dom :: Domain) a. (KnownDomain dom, BitPack a, NFDataX a, Typeable a) |
=> String | Name of signal in the VCD output
-> Signal dom a | Signal to trace
-> Signal dom a |

Trace a single signal. Will emit an error if a signal with the same name was previously registered.

NB: Works correctly when creating VCD files from traced signal in multi-clock circuits. However `traceSignal1` might be more convenient to use when the domain of your circuit is polymorphic.

traceVecSignal Source #

Arguments

:: forall (dom :: Domain) a (n :: Nat). (KnownDomain dom, KnownNat n, BitPack a, NFDataX a, Typeable a) |
=> String | Name of signal in debugging output. Will be appended by _0, _1, ..., _n.
-> Signal dom (Vec (n + 1) a) | Signal to trace
-> Signal dom (Vec (n + 1) a) |

Trace a single vector signal: each element in the vector will show up as a different trace. If the trace name already exists, this function will emit an error.

NB: Works correctly when creating VCD files from traced signal in multi-clock circuits. However `traceSignal1` might be more convenient to use when the domain of your circuit is polymorphic.

## VCD dump functions

dumpVCD Source #

Arguments

:: forall a (dom :: Domain). NFDataX a |
=> (Int, Int) | (offset, number of samples)
-> Signal dom a | (One of) the outputs of the circuit containing the traces
-> [String] | The names of the traces you definitely want to be dumped in the VCD file
-> IO (Either String Text) |

Produce a four-state VCD (Value Change Dump) according to IEEE 1364-{1995,2001}. This function fails if a trace name contains either non-printable or non-VCD characters.

Due to lazy evaluation, the created VCD files might not contain all the traces you were expecting. You therefore have to provide a list of names you definately want to be dumped in the VCD file.

For example:

    vcd <- dumpVCD (0, 100) cntrOut ["main", "sub"]

Evaluates cntrOut long enough in order for to guarantee that the `main`, and `sub` traces end up in the generated VCD file.

# Exported modules

## Synchronous signals

fromList :: forall a (dom :: Domain). NFDataX a => [a] -> Signal dom a Source #

Create a `Signal` from a list

Every element in the list will correspond to a value of the signal for one clock cycle.

    >>> sampleN 2 (fromList [1,2,3,4,5])
    [1,2]

NB: This function is not synthesizable

sample Source #

Arguments

:: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) |
=> (HiddenClockResetEnable dom => Signal dom a) | `Signal` we want to sample, whose source potentially has a hidden clock (and reset)
-> [a] |

Get an infinite list of samples from a `Signal`

The elements in the list correspond to the values of the `Signal` at consecutive clock cycles

    sample s == [s0, s1, s2, s3, ...

If the given component has not yet been given a clock, reset, or enable line, `sample` will supply them. The reset will be asserted for a single cycle. `sample` will not drop the value produced by the circuit while the reset was asserted. If you want this, or if you want more than a single cycle reset, consider using `sampleWithReset`.

NB: This function is not synthesizable

delay Source #

Arguments

:: forall (dom :: Domain) a. (NFDataX a, HiddenClock dom, HiddenEnable dom) |
=> a | Initial value
-> Signal dom a | Signal to delay
-> Signal dom a |

`delay` `dflt` `s` delays the values in `Signal` `s` for once cycle, the value at time 0 is dflt.

    >>> sampleN @System 3 (delay 0 (fromList [1,2,3,4]))
    [0,1,2]

(.&&.) :: Applicative f => f Bool -> f Bool -> f Bool infixr 3 Source #

The above type is a generalization for:

    (.&&.) :: Signal Bool -> Signal Bool -> Signal Bool

It is a version of (`&&`) that returns a `Signal` of `Bool`

(.||.) :: Applicative f => f Bool -> f Bool -> f Bool infixr 2 Source #

The above type is a generalization for:

    (.||.) :: Signal Bool -> Signal Bool -> Signal Bool

It is a version of (`||`) that returns a `Signal` of `Bool`

data BiSignalDefault Source #

Used to specify the default behavior of a "BiSignal" in Haskell simulation, i.e. what value is read when no value is being written to it.

Constructors

PullUp | inout port behaves as if connected to a pull-up resistor
PullDown | inout port behaves as if connected to a pull-down resistor
Floating | inout port behaves as if is floating. Reading a floating "BiSignal" value in simulation will yield an errorX (undefined value).

#### Instances

Instances details

Show BiSignalDefault Source # |
Instance details Defined in Clash.Signal.BiSignal Methods showsPrec :: Int -> BiSignalDefault -> ShowS Source # show :: BiSignalDefault -> String Source # showList :: [BiSignalDefault] -> ShowS Source #

data Signal (dom :: Domain) a Source #

Clash has synchronous `Signal`s in the form of:

    Signal (dom :: Domain) a

Where a is the type of the value of the `Signal`, for example Int or Bool, and dom is the clock- (and reset-) domain to which the memory elements manipulating these `Signal`s belong.

The type-parameter, dom, is of the kind `Domain` - a simple string. That string refers to a single synthesis domain. A synthesis domain describes the behavior of certain aspects of memory elements in it.

- NB: "Bad things"™ happen when you actually use a clock period of `0`, so do not do that!
- NB: You should be judicious using a clock with period of `1` as you can never create a clock that goes any faster!
- NB: For the best compatibility make sure your period is divisible by 2, because some VHDL simulators don't support fractions of picoseconds.
- NB: Whether `System` has good defaults depends on your target platform. Check out `IntelSystem` and `XilinxSystem` too!

Signals have the type role

    >>> :i Signal
    type role Signal nominal representational
    ...

as it is safe to coerce the underlying value of a signal, but not safe to coerce a signal between different synthesis domains.

See the module documentation of Clash.Signal for more information about domains.

#### Instances

Instances details

AssertionValue dom (Signal dom Bool) Source # | Stream of booleans, originating from a circuit
Instance details Defined in Clash.Verification.Internal Methods toAssertionValue :: Signal dom Bool -> Assertion dom Source #
Lift a => Lift (Signal dom a :: Type) Source # |
Instance details Defined in Clash.Signal.Internal Methods lift :: Quote m => Signal dom a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Signal dom a -> Code m (Signal dom a) Source #
Applicative (Signal dom) Source # |
Instance details Defined in Clash.Signal.Internal Methods pure :: a -> Signal dom a Source # (<*>) :: Signal dom (a -> b) -> Signal dom a -> Signal dom b Source # liftA2 :: (a -> b -> c) -> Signal dom a -> Signal dom b -> Signal dom c Source # (*>) :: Signal dom a -> Signal dom b -> Signal dom b Source # (<*) :: Signal dom a -> Signal dom b -> Signal dom a Source #
Functor (Signal dom) Source # |
Instance details Defined in Clash.Signal.Internal Methods fmap :: (a -> b) -> Signal dom a -> Signal dom b Source # (<$) :: a -> Signal dom b -> Signal dom a Source #

Foldable (Signal dom) Source #

NB: Not synthesizable

NB: In "``foldr` f z s`":

- The function `f` should be lazy in its second argument.
- The `z` element will never be used.

Instance details

Defined in Clash.Signal.Internal

Methods

fold :: Monoid m => Signal dom m -> m Source #

foldMap :: Monoid m => (a -> m) -> Signal dom a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Signal dom a -> m Source #

foldr :: (a -> b -> b) -> b -> Signal dom a -> b Source #

foldr' :: (a -> b -> b) -> b -> Signal dom a -> b Source #

foldl :: (b -> a -> b) -> b -> Signal dom a -> b Source #

foldl' :: (b -> a -> b) -> b -> Signal dom a -> b Source #

foldr1 :: (a -> a -> a) -> Signal dom a -> a Source #

foldl1 :: (a -> a -> a) -> Signal dom a -> a Source #

toList :: Signal dom a -> [a] Source #

null :: Signal dom a -> Bool Source #

length :: Signal dom a -> Int Source #

elem :: Eq a => a -> Signal dom a -> Bool Source #

maximum :: Ord a => Signal dom a -> a Source #

minimum :: Ord a => Signal dom a -> a Source #

sum :: Num a => Signal dom a -> a Source #

product :: Num a => Signal dom a -> a Source #

Traversable (Signal dom) Source # |
Instance details Defined in Clash.Signal.Internal Methods traverse :: Applicative f => (a -> f b) -> Signal dom a -> f (Signal dom b) Source # sequenceA :: Applicative f => Signal dom (f a) -> f (Signal dom a) Source # mapM :: Monad m => (a -> m b) -> Signal dom a -> m (Signal dom b) Source # sequence :: Monad m => Signal dom (m a) -> m (Signal dom a) Source #
Arbitrary a => Arbitrary (Signal dom a) Source # |
Instance details Defined in Clash.Signal.Internal Methods arbitrary :: Gen (Signal dom a) Source # shrink :: Signal dom a -> [Signal dom a] Source #
CoArbitrary a => CoArbitrary (Signal dom a) Source # |
Instance details Defined in Clash.Signal.Internal Methods coarbitrary :: Signal dom a -> Gen b -> Gen b Source #
Clocks (Clock c1, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Signal pllLock Bool) = (KnownDomain c1, KnownDomain pllLock)
type NumOutClocks (Clock c1, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Signal pllLock Bool) = 1

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Signal pllLock Bool) Source #

NFDataX a => NFDataX (Signal domain a) Source # |
Instance details Defined in Clash.Signal.Internal Methods deepErrorX :: String -> Signal domain a Source # hasUndefined :: Signal domain a -> Bool Source # ensureSpine :: Signal domain a -> Signal domain a Source # rnfX :: Signal domain a -> () Source #
Default a => Default (Signal dom a) Source # |
Instance details Defined in Clash.Signal.Internal Methods def :: Signal dom a #
Num a => Num (Signal dom a) Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

(+) :: Signal dom a -> Signal dom a -> Signal dom a Source #

(-) :: Signal dom a -> Signal dom a -> Signal dom a Source #

(*) :: Signal dom a -> Signal dom a -> Signal dom a Source #

negate :: Signal dom a -> Signal dom a Source #

abs :: Signal dom a -> Signal dom a Source #

signum :: Signal dom a -> Signal dom a Source #

fromInteger :: Integer -> Signal dom a Source #

Fractional a => Fractional (Signal dom a) Source # |
Instance details Defined in Clash.Signal.Internal Methods (/) :: Signal dom a -> Signal dom a -> Signal dom a Source # recip :: Signal dom a -> Signal dom a Source # fromRational :: Rational -> Signal dom a Source #
Show a => Show (Signal dom a) Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> Signal dom a -> ShowS Source # show :: Signal dom a -> String Source # showList :: [Signal dom a] -> ShowS Source #
Clocks (Clock c1, Clock c2, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) = 2

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = 3

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = 4

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = 5

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = 6

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = 7

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = 8

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = 9

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = 10

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = 11

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = 12

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = 13

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = 14

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = 15

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = 16

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = 17

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = 18

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source #

type TryDomain t (Signal dom a) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSingleDomain type TryDomain t (Signal dom a) = 'Found dom
type HasDomain dom1 (Signal dom2 a) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSpecificDomain type HasDomain dom1 (Signal dom2 a) = DomEq dom1 dom2
type ClocksCxt (Clock c1, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Signal pllLock Bool) = (KnownDomain c1, KnownDomain pllLock)
type NumOutClocks (Clock c1, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Signal pllLock Bool) = 1
type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) = 2
type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = 3
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = 4
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = 5
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = 6
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = 7
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = 8
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = 9
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = 10
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = 11
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = 12
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = 13
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = 14
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = 15
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = 16
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = 17
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = 18

data InitBehavior Source #

Constructors

Unknown | Power up value of memory elements is unknown.
Defined | If applicable, power up value of a memory element is defined. Applies to `register`s for example, but not to `blockRam`.

#### Instances

Instances details

Binary InitBehavior Source # |
Instance details Defined in Clash.Signal.Internal Methods put :: InitBehavior -> Put Source # get :: Get InitBehavior Source # putList :: [InitBehavior] -> Put Source #
NFData InitBehavior Source # |
Instance details Defined in Clash.Signal.Internal Methods rnf :: InitBehavior -> () Source #
Data InitBehavior Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InitBehavior -> c InitBehavior Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InitBehavior Source #

toConstr :: InitBehavior -> Constr Source #

dataTypeOf :: InitBehavior -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InitBehavior) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InitBehavior) Source #

gmapT :: (forall b. Data b => b -> b) -> InitBehavior -> InitBehavior Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InitBehavior -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InitBehavior -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> InitBehavior -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InitBehavior -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InitBehavior -> m InitBehavior Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InitBehavior -> m InitBehavior Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InitBehavior -> m InitBehavior Source #

Generic InitBehavior Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep InitBehavior |
Instance details Defined in Clash.Signal.Internal type Rep InitBehavior = D1 ('MetaData "InitBehavior" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Unknown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Defined" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: InitBehavior -> Rep InitBehavior x Source #

to :: Rep InitBehavior x -> InitBehavior Source #

Read InitBehavior Source # |
Instance details Defined in Clash.Signal.Internal Methods readsPrec :: Int -> ReadS InitBehavior Source # readList :: ReadS [InitBehavior] Source # readPrec :: ReadPrec InitBehavior Source # readListPrec :: ReadPrec [InitBehavior] Source #
Show InitBehavior Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> InitBehavior -> ShowS Source # show :: InitBehavior -> String Source # showList :: [InitBehavior] -> ShowS Source #
Eq InitBehavior Source # |
Instance details Defined in Clash.Signal.Internal Methods (==) :: InitBehavior -> InitBehavior -> Bool Source # (/=) :: InitBehavior -> InitBehavior -> Bool Source #
Ord InitBehavior Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

compare :: InitBehavior -> InitBehavior -> Ordering Source #

(<) :: InitBehavior -> InitBehavior -> Bool Source #

(<=) :: InitBehavior -> InitBehavior -> Bool Source #

(>) :: InitBehavior -> InitBehavior -> Bool Source #

(>=) :: InitBehavior -> InitBehavior -> Bool Source #

max :: InitBehavior -> InitBehavior -> InitBehavior Source #

min :: InitBehavior -> InitBehavior -> InitBehavior Source #

Hashable InitBehavior Source # |
Instance details Defined in Clash.Signal.Internal Methods hashWithSalt :: Int -> InitBehavior -> Int Source # hash :: InitBehavior -> Int Source #
type Rep InitBehavior Source # |
Instance details Defined in Clash.Signal.Internal type Rep InitBehavior = D1 ('MetaData "InitBehavior" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Unknown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Defined" 'PrefixI 'False) (U1 :: Type -> Type))

(.==.) :: (Eq a, Applicative f) => f a -> f a -> f Bool infix 4 Source #

The above type is a generalization for:

    (.==.) :: Eq a => Signal a -> Signal a -> Signal Bool

It is a version of (`==`) that returns a `Signal` of `Bool`

(.>.) :: (Ord a, Applicative f) => f a -> f a -> f Bool infix 4 Source #

The above type is a generalization for:

    (.>.) :: Ord a => Signal a -> Signal a -> Signal Bool

It is a version of (`>`) that returns a `Signal` of `Bool`

(.>=.) :: (Ord a, Applicative f) => f a -> f a -> f Bool infix 4 Source #

The above type is a generalization for:

    (.>=.) :: Ord a => Signal a -> Signal a -> Signal Bool

It is a version of (`>=`) that returns a `Signal` of `Bool`

(.<.) :: (Ord a, Applicative f) => f a -> f a -> f Bool infix 4 Source #

The above type is a generalization for:

    (.<.) :: Ord a => Signal a -> Signal a -> Signal Bool

It is a version of (`<`) that returns a `Signal` of `Bool`

(.<=.) :: (Ord a, Applicative f) => f a -> f a -> f Bool infix 4 Source #

The above type is a generalization for:

    (.<=.) :: Ord a => Signal a -> Signal a -> Signal Bool

It is a version of (`<=`) that returns a `Signal` of `Bool`

register infixr 3 Source #

Arguments

:: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a) |
=> a | Reset value. `register` outputs the reset value when the reset is active. If the domain has initial values enabled, the reset value will also be the initial value.
-> Signal dom a |
-> Signal dom a |

`register` `i s` delays the values in `Signal` `s` for one cycle, and sets the value at time 0 to `i`

    >>> sampleN @System 5 (register 8 (fromList [1,1,2,3,4]))
    [8,8,1,2,3]

class Bundle a where Source #

Isomorphism between a `Signal` of a product type (e.g. a tuple) and a product type of `Signal`s.

Instances of `Bundle` must satisfy the following laws:

    bundle . unbundle = id
    unbundle . bundle = id

By default, `bundle` and `unbundle`, are defined as the identity, that is, writing:

    data D = A | B

    instance Bundle D

is the same as:

    data D = A | B

    instance Bundle D where
      type Unbundled clk D = Signal clk D
      bundle   s = s
      unbundle s = s

For custom product types you'll have to write the instance manually:

    data Pair a b = MkPair { getA :: a, getB :: b }

    instance Bundle (Pair a b) where
      type Unbundled dom (Pair a b) = Pair (Signal dom a) (Signal dom b)

      -- bundle :: Pair (Signal dom a) (Signal dom b) -> Signal dom (Pair a b)
      bundle   (MkPair as bs) = MkPair <$> as <*> bs

      -- unbundle :: Signal dom (Pair a b) -> Pair (Signal dom a) (Signal dom b)
      unbundle pairs = MkPair (getA <$> pairs) (getB <$> pairs)

Minimal complete definition

Nothing

Associated Types

type Unbundled (dom :: Domain) a = (res :: Type) | res -> dom a Source #

type Unbundled (dom :: Domain) a = Signal dom a

Methods

bundle :: forall (dom :: Domain). Unbundled dom a -> Signal dom a Source #

Example:

    bundle :: (Signal dom a, Signal dom b) -> Signal dom (a,b)

However:

    bundle :: Signal dom Bit -> Signal dom Bit

default bundle :: forall (dom :: Domain). Signal dom a ~ Unbundled dom a => Unbundled dom a -> Signal dom a Source #

unbundle :: forall (dom :: Domain). Signal dom a -> Unbundled dom a Source #

Example:

    unbundle :: Signal dom (a,b) -> (Signal dom a, Signal dom b)

However:

    unbundle :: Signal dom Bit -> Signal dom Bit

default unbundle :: forall (dom :: Domain). Unbundled dom a ~ Signal dom a => Signal dom a -> Unbundled dom a Source #

#### Instances

Instances details

Bundle EmptyTuple Source # | See commit 94b0bff5 and documentation for `TaggedEmptyTuple`.

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom EmptyTuple |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom EmptyTuple = TaggedEmptyTuple dom

Methods

bundle :: forall (dom :: Domain). Unbundled dom EmptyTuple -> Signal dom EmptyTuple Source #

unbundle :: forall (dom :: Domain). Signal dom EmptyTuple -> Unbundled dom EmptyTuple Source #

Bundle Bit Source # |

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom Bit |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Bit = Signal dom Bit

Methods

bundle :: forall (dom :: Domain). Unbundled dom Bit -> Signal dom Bit Source #

unbundle :: forall (dom :: Domain). Signal dom Bit -> Unbundled dom Bit Source #

Bundle Integer Source # |

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom Integer |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Integer = Signal dom Integer

Methods

bundle :: forall (dom :: Domain). Unbundled dom Integer -> Signal dom Integer Source #

unbundle :: forall (dom :: Domain). Signal dom Integer -> Unbundled dom Integer Source #

Bundle () Source # |

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom () |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom () = Signal dom ()

Methods

bundle :: forall (dom :: Domain). Unbundled dom () -> Signal dom () Source #

unbundle :: forall (dom :: Domain). Signal dom () -> Unbundled dom () Source #

Bundle Bool Source # |

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom Bool |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Bool = Signal dom Bool

Methods

bundle :: forall (dom :: Domain). Unbundled dom Bool -> Signal dom Bool Source #

unbundle :: forall (dom :: Domain). Signal dom Bool -> Unbundled dom Bool Source #

Bundle Double Source # |

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom Double |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Double = Signal dom Double

Methods

bundle :: forall (dom :: Domain). Unbundled dom Double -> Signal dom Double Source #

unbundle :: forall (dom :: Domain). Signal dom Double -> Unbundled dom Double Source #

Bundle Float Source # |

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom Float |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Float = Signal dom Float

Methods

bundle :: forall (dom :: Domain). Unbundled dom Float -> Signal dom Float Source #

unbundle :: forall (dom :: Domain). Signal dom Float -> Unbundled dom Float Source #

Bundle Int Source # |

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom Int |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Int = Signal dom Int

Methods

bundle :: forall (dom :: Domain). Unbundled dom Int -> Signal dom Int Source #

unbundle :: forall (dom :: Domain). Signal dom Int -> Unbundled dom Int Source #

Bundle (BitVector n) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (BitVector n) -> Signal dom (BitVector n) Source # unbundle :: forall (dom :: Domain). Signal dom (BitVector n) -> Unbundled dom (BitVector n) Source #
Bundle (Index n) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (Index n) -> Signal dom (Index n) Source # unbundle :: forall (dom :: Domain). Signal dom (Index n) -> Unbundled dom (Index n) Source #
Bundle (Signed n) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (Signed n) -> Signal dom (Signed n) Source # unbundle :: forall (dom :: Domain). Signal dom (Signed n) -> Unbundled dom (Signed n) Source #
Bundle (Unsigned n) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (Unsigned n) -> Signal dom (Unsigned n) Source # unbundle :: forall (dom :: Domain). Signal dom (Unsigned n) -> Unbundled dom (Unsigned n) Source #
Bundle (Maybe a) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (Maybe a) -> Signal dom (Maybe a) Source # unbundle :: forall (dom :: Domain). Signal dom (Maybe a) -> Unbundled dom (Maybe a) Source #
KnownNat d => Bundle (RTree d a) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (RTree d a) -> Signal dom (RTree d a) Source # unbundle :: forall (dom :: Domain). Signal dom (RTree d a) -> Unbundled dom (RTree d a) Source #
KnownNat n => Bundle (Vec n a) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (Vec n a) -> Signal dom (Vec n a) Source # unbundle :: forall (dom :: Domain). Signal dom (Vec n a) -> Unbundled dom (Vec n a) Source #
Bundle (Either a b) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (Either a b) -> Signal dom (Either a b) Source # unbundle :: forall (dom :: Domain). Signal dom (Either a b) -> Unbundled dom (Either a b) Source #
Bundle (a1, a2) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2) -> Signal dom (a1, a2) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2) -> Unbundled dom (a1, a2) Source #
Bundle (Fixed rep int frac) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (Fixed rep int frac) -> Signal dom (Fixed rep int frac) Source # unbundle :: forall (dom :: Domain). Signal dom (Fixed rep int frac) -> Unbundled dom (Fixed rep int frac) Source #
Bundle (a1, a2, a3) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3) -> Signal dom (a1, a2, a3) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3) -> Unbundled dom (a1, a2, a3) Source #
Bundle ((f :*: g) a) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom ((f :*: g) a) -> Signal dom ((f :*: g) a) Source # unbundle :: forall (dom :: Domain). Signal dom ((f :*: g) a) -> Unbundled dom ((f :*: g) a) Source #
Bundle (a1, a2, a3, a4) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4) -> Signal dom (a1, a2, a3, a4) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4) -> Unbundled dom (a1, a2, a3, a4) Source #
Bundle (a1, a2, a3, a4, a5) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4, a5) -> Signal dom (a1, a2, a3, a4, a5) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4, a5) -> Unbundled dom (a1, a2, a3, a4, a5) Source #
Bundle (a1, a2, a3, a4, a5, a6) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4, a5, a6) -> Signal dom (a1, a2, a3, a4, a5, a6) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4, a5, a6) -> Unbundled dom (a1, a2, a3, a4, a5, a6) Source #
Bundle (a1, a2, a3, a4, a5, a6, a7) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4, a5, a6, a7) -> Signal dom (a1, a2, a3, a4, a5, a6, a7) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4, a5, a6, a7) -> Unbundled dom (a1, a2, a3, a4, a5, a6, a7) Source #
Bundle (a1, a2, a3, a4, a5, a6, a7, a8) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8) -> Signal dom (a1, a2, a3, a4, a5, a6, a7, a8) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4, a5, a6, a7, a8) -> Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8) Source #
Bundle (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Signal dom (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source #
Bundle (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> Signal dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source #
Bundle (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> Signal dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source # unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source #
Bundle (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source # |

Instance details

Defined in Clash.Signal.Bundle

Methods

bundle :: forall (dom :: Domain). Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> Signal dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source #

unbundle :: forall (dom :: Domain). Signal dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> Unbundled dom (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source #

type HiddenClockResetEnable (dom :: Domain) = (HiddenClock dom, HiddenReset dom, HiddenEnable dom) Source #

A constraint that indicates the component needs a `Clock`, a `Reset`, and an `Enable` belonging to the same `dom`.

Click here to read more about hidden clocks, resets, and enables

type HiddenClock (dom :: Domain) = (Hidden (HiddenClockName dom) (Clock dom), KnownDomain dom) Source #

A constraint that indicates the component has a hidden `Clock`

Click here to read more about hidden clocks, resets, and enables

type HiddenReset (dom :: Domain) = (Hidden (HiddenResetName dom) (Reset dom), KnownDomain dom) Source #

A constraint that indicates the component needs a `Reset`

Click here to read more about hidden clocks, resets, and enables

type HiddenEnable (dom :: Domain) = (Hidden (HiddenEnableName dom) (Enable dom), KnownDomain dom) Source #

A constraint that indicates the component needs an `Enable`

Click here to read more about hidden clocks, resets, and enables

type Domain = Symbol Source #

data Clock (dom :: Domain) Source #

A clock signal belonging to a domain named dom.

#### Instances

Instances details

Show (Clock dom) Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> Clock dom -> ShowS Source # show :: Clock dom -> String Source # showList :: [Clock dom] -> ShowS Source #
Clocks (Clock c1, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Signal pllLock Bool) = (KnownDomain c1, KnownDomain pllLock)
type NumOutClocks (Clock c1, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Signal pllLock Bool) = 1

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1) = KnownDomain c1

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1)) => ClocksSyncClocksInst (Clock c1, Reset c1) domIn -> Clock domIn -> (Clock c1, Reset c1) Source #

Clocks (Clock c1, Clock c2, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) = 2

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = 3

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) = (KnownDomain c1, KnownDomain c2)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = 4

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = 5

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) = (KnownDomain c1, KnownDomain c2, KnownDomain c3)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = 6

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = 7

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = 8

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = 9

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = 10

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = 11

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = 12

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = 13

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = 14

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = 15

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = 16

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = 17

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source #

Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = 18

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18)

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source #

type TryDomain t (Clock dom) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSingleDomain type TryDomain t (Clock dom) = 'Found dom
type HasDomain dom1 (Clock dom2) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSpecificDomain type HasDomain dom1 (Clock dom2) = DomEq dom1 dom2
type ClocksCxt (Clock c1, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Signal pllLock Bool) = (KnownDomain c1, KnownDomain pllLock)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1) = KnownDomain c1
type NumOutClocks (Clock c1, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Signal pllLock Bool) = 1
type ClocksSyncClocksInst (Clock c1, Reset c1) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1) domIn = (Clock c1, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) = 2
type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain pllLock)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) = (KnownDomain c1, KnownDomain c2)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = 3
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn = (Clock c1, Clock c2, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = 4
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain pllLock)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) = (KnownDomain c1, KnownDomain c2, KnownDomain c3)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = 5
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn = (Clock c1, Clock c2, Clock c3, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = 6
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain pllLock)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = 7
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = 8
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain pllLock)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = 9
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain pllLock)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = 10
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain pllLock)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = 11
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = 12
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain pllLock)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = 13
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = 14
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain pllLock)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = 15
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = 16
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain pllLock)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9)
type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = 17
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal domIn Bool)
type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # |

Instance details

Defined in Clash.Clocks

type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18, KnownDomain pllLock)

type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # |
Instance details Defined in Clash.Clocks type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = 18
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source #

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn Source #

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal domIn Bool)

data Reset (dom :: Domain) Source #

A reset signal belonging to a domain called dom.

The underlying representation of resets is `Bool`.

#### Instances

Instances details

ClocksSync (Clock c1, Reset c1) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1) = KnownDomain c1

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1)) => ClocksSyncClocksInst (Clock c1, Reset c1) domIn -> Clock domIn -> (Clock c1, Reset c1) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) = (KnownDomain c1, KnownDomain c2)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) = (KnownDomain c1, KnownDomain c2, KnownDomain c3)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source # |

Instance details

Defined in Clash.Clocks

Associated Types

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18)

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18)

Methods

clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source #

type TryDomain t (Reset dom) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSingleDomain type TryDomain t (Reset dom) = 'Found dom
type HasDomain dom1 (Reset dom2) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSpecificDomain type HasDomain dom1 (Reset dom2) = DomEq dom1 dom2
type ClocksResetSynchronizerCxt (Clock c1, Reset c1) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1) = KnownDomain c1
type ClocksSyncClocksInst (Clock c1, Reset c1) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1) domIn = (Clock c1, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) = (KnownDomain c1, KnownDomain c2)
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn = (Clock c1, Clock c2, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) = (KnownDomain c1, KnownDomain c2, KnownDomain c3)
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn = (Clock c1, Clock c2, Clock c3, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4)
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5)
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6)
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7)
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8)
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # |
Instance details Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9)
type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn Source # |
Instance details Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal domIn Bool)
type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # |

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn Source # |

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal domIn Bool)

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source #

Instance details

Defined in Clash.Clocks

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18)

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn Source #

Instance details

Defined in Clash.Clocks

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal domIn Bool)

data Enable (dom :: Domain) Source #

A signal of booleans, indicating whether a component is enabled. No special meaning is implied, it's up to the component itself to decide how to respond to its enable line. It is used throughout Clash as a global enable signal.

#### Instances

Instances details

type TryDomain t (Enable dom) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSingleDomain type TryDomain t (Enable dom) = 'Found dom
type HasDomain dom1 (Enable dom2) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSpecificDomain type HasDomain dom1 (Enable dom2) = DomEq dom1 dom2

class (KnownSymbol dom, KnownNat (DomainPeriod dom)) => KnownDomain (dom :: Domain) where Source #

A `KnownDomain` constraint indicates that a circuit's behavior depends on some properties of a domain. See `DomainConfiguration` for more information.

Associated Types

type KnownConf (dom :: Domain) :: DomainConfiguration Source #

Methods

knownDomain :: SDomainConfiguration dom (KnownConf dom) Source #

Returns `SDomainConfiguration` corresponding to an instance's `DomainConfiguration`.

Example usage:

    >>> knownDomain @System
    SDomainConfiguration {sName = SSymbol @"System", sPeriod = SNat @10000, sActiveEdge = SRising, sResetKind = SAsynchronous, sInitBehavior = SDefined, sResetPolarity = SActiveHigh}

#### Instances

Instances details

KnownDomain IntelSystem Source # | System instance with defaults set for Intel FPGAs

Instance details

Defined in Clash.Signal.Internal

Associated Types

type KnownConf IntelSystem |
Instance details Defined in Clash.Signal.Internal type KnownConf IntelSystem = 'DomainConfiguration IntelSystem 10000 'Rising 'Asynchronous 'Defined 'ActiveHigh

Methods

knownDomain :: SDomainConfiguration IntelSystem (KnownConf IntelSystem) Source #

KnownDomain System Source # | A clock (and reset) dom with clocks running at 100 MHz

Instance details

Defined in Clash.Signal.Internal

Associated Types

type KnownConf System |
Instance details Defined in Clash.Signal.Internal type KnownConf System = 'DomainConfiguration System 10000 'Rising 'Asynchronous 'Defined 'ActiveHigh

Methods

knownDomain :: SDomainConfiguration System (KnownConf System) Source #

KnownDomain XilinxSystem Source # | System instance with defaults set for Xilinx FPGAs

Instance details

Defined in Clash.Signal.Internal

Associated Types

type KnownConf XilinxSystem |
Instance details Defined in Clash.Signal.Internal type KnownConf XilinxSystem = 'DomainConfiguration XilinxSystem 10000 'Rising 'Synchronous 'Defined 'ActiveHigh

Methods

knownDomain :: SDomainConfiguration XilinxSystem (KnownConf XilinxSystem) Source #

fromEnable :: forall (dom :: Domain). Enable dom -> Signal dom Bool Source #

Convert `Enable` construct to its underlying representation: a signal of bools.

andEnable Source #

Arguments

:: forall (dom :: Domain) r. HiddenEnable dom |
=> Signal dom Bool | The signal to AND with
-> (HiddenEnable dom => r) | The component whose enable is modified
-> r |

Merge enable signal with signal of bools by applying the boolean AND operation.

NB: The component given to `andEnable` as an argument needs an explicit type signature. Please read Monomorphism restriction leads to surprising behavior.

The component whose enable is modified will only be enabled when both the encompassing `HiddenEnable` and the `Signal` `dom` `Bool` are asserted.

# 1314 "srcClashSignal.hs"

Click here to read more about hidden clocks, resets, and enables

### Example

Expand

Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> f en = andEnable en reg
    >>> sampleN @System 10 (f (riseEvery d2))
    [5,5,5,6,6,7,7,8,8,9]

Force `andEnable` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> f en = andEnable @System en reg
    >>> sampleN 10 (f (riseEvery d2))
    [5,5,5,6,6,7,7,8,8,9]

mux :: Applicative f => f Bool -> f a -> f a -> f a Source #

The above type is a generalization for:

    mux :: Signal Bool -> Signal a -> Signal a -> Signal a

A multiplexer. Given "``mux` b t f`", output `t` when `b` is `True`, and `f` when `b` is `False`.

type System = "System" Source #

A clock (and reset) dom with clocks running at 100 MHz. Memory elements respond to the rising edge of the clock, and asynchronously to changes in reset signals. It has defined initial values, and active-high resets.

See module documentation of Clash.Explicit.Signal for more information on how to create custom synthesis domains.

clockPeriod :: forall (dom :: Domain) (period :: Nat). (KnownDomain dom, DomainPeriod dom ~ period) => SNat period Source #

Get the clock period from a KnownDomain context

resetSynchronizer :: forall (dom :: Domain). KnownDomain dom => Clock dom -> Reset dom -> Reset dom Source #

The resetSynchronizer will synchronize an incoming reset according to whether the domain is synchronous or asynchronous.

For asynchronous resets this synchronizer ensures the reset will only be de-asserted synchronously but it can still be asserted asynchronously. The reset assert is immediate, but reset de-assertion is delayed by two cycles.

Normally, asynchronous resets can be both asynchronously asserted and de-asserted. Asynchronous de-assertion can induce meta-stability in the component which is being reset. To ensure this doesn't happen, `resetSynchronizer` ensures that de-assertion of a reset happens synchronously. Assertion of the reset remains asynchronous.

Note that asynchronous assertion does not induce meta-stability in the component whose reset is asserted. However, when a component "A" in another clock or reset domain depends on the value of a component "B" being reset, then asynchronous assertion of the reset of component "B" can induce meta-stability in component "A". To prevent this from happening you need to use a proper synchronizer, for example one of the synchronizers in Clash.Explicit.Synchronizer.

For synchronous resets this function ensures that the reset is asserted and de-asserted synchronously. Both the assertion and de-assertion of the reset are delayed by two cycles.

### Example 1

Expand

The circuit below detects a rising bit (i.e., a transition from 0 to 1) in a given argument. It takes a reset that is not synchronized to any of the other incoming signals and synchronizes it using `resetSynchronizer`.

    topEntity
      :: Clock  System
      -> Reset  System
      -> Signal System Bit
      -> Signal System (BitVector 8)
    topEntity clk asyncRst key1 =
      withClockResetEnable clk rst enableGen leds
     where
      rst   = resetSynchronizer clk asyncRst
      key1R = isRising 1 key1
      leds  = mealy blinkerT (1, False, 0) key1R

### Example 2

Expand

Similar to Example 1 this circuit detects a rising bit (i.e., a transition from 0 to 1) in a given argument. It takes a clock that is not stable yet and a reset signal that is not synchronized to any other signals. It stabilizes the clock and then synchronizes the reset signal.

Note that the function `altpllSync` provides this functionality in a convenient form, obviating the need for `resetSynchronizer` for this use case.

    topEntity
      :: Clock  System
      -> Reset  System
      -> Signal System Bit
      -> Signal System (BitVector 8)
    topEntity clk rst key1 =
        let  (pllOut,pllStable) = unsafeAltpll clk rst
             rstSync            = resetSynchronizer pllOut (unsafeFromActiveLow pllStable)
        in   exposeClockResetEnable leds pllOut rstSync enableGen
      where
        key1R  = isRising 1 key1
        leds   = mealy blinkerT (1, False, 0) key1R

### Implementation details

Expand

`resetSynchronizer` implements the following circuit for asynchronous domains:

                                      rst
      --------------------------------------+
                          |                 |
                     +----v----+       +----v----+
        deasserted   |         |       |         |
      --------------->         +------->         +-------->
                     |         |       |         |
                 +---|>        |   +---|>        |
                 |   |         |   |   |         |
                 |   +---------+   |   +---------+
         clk     |                 |
      -----------------------------+

This corresponds to figure 3d at https://www.embedded.com/asynchronous-reset-synchronization-and-distribution-challenges-and-solutions/

For synchronous domains two sequential dflipflops are used:

                     +---------+       +---------+
        rst          |         |       |         |
      --------------->         +------->         +-------->
                     |         |       |         |
                 +---|>        |   +---|>        |
                 |   |         |   |   |         |
                 |   +---------+   |   +---------+
         clk     |                 |
      -----------------------------+

resetGlitchFilter Source #

Arguments

:: forall (dom :: Domain) (glitchlessPeriod :: Natural). (HasCallStack, HasDefinedInitialValues dom, 1 <= glitchlessPeriod) |
=> SNat glitchlessPeriod | Consider a reset signal to be properly asserted after having seen the reset asserted for glitchlessPeriod cycles straight.
-> Clock dom |
-> Reset dom |
-> Reset dom |

Filter glitches from reset signals by only triggering a reset after it has been asserted for glitchlessPeriod cycles. Similarly, it will stay asserted until a glitchlessPeriod number of deasserted cycles have been observed.

This circuit can only be used on platforms supporting initial values. This restriction can be worked around by using `unsafeResetGlitchFilter` but this is not recommended.

On platforms without initial values, you should instead use `resetGlitchFilterWithReset` with an additional power-on reset, or `holdReset` if filtering is only needed on deassertion.

At power-on, the reset will be asserted. If the filtered reset input remains unasserted, the output reset will deassert after glitchlessPeriod clock cycles.

If `resetGlitchFilter` is used in a domain with asynchronous resets (`Asynchronous`), `resetGlitchFilter` will first synchronize the reset input with `dualFlipFlopSynchronizer`.

### Example 1

Expand

    >>> let sampleResetN n = sampleN n . unsafeToActiveHigh
    >>> let resetFromList = unsafeFromActiveHigh . fromList
    >>> let rst = resetFromList [True, True, False, False, True, False, False, True, True, False, True, True]
    >>> sampleResetN 12 (resetGlitchFilter d2 (clockGen @XilinxSystem) rst)
    [True,True,True,True,False,False,False,False,False,True,True,True]

holdReset Source #

Arguments

:: forall (dom :: Domain) (m :: Nat). HiddenClockResetEnable dom |
=> SNat m | Hold for m cycles, counting from the moment the incoming reset signal becomes deasserted.
-> Reset dom |

Hold reset for a number of cycles relative to an implicit reset signal.

Example:

    >>> sampleN @System 8 (unsafeToActiveHigh (holdReset (SNat @2)))
    [True,True,True,False,False,False,False,False]

`holdReset` holds the reset for an additional 2 clock cycles for a total of 3 clock cycles where the reset is asserted.

resetGen :: forall (dom :: Domain). KnownDomain dom => Reset dom Source #

Reset generator for simulation purposes. Asserts the reset for a single cycle.

To be used like:

    rstSystem = resetGen @System

See `tbClockGen` for example usage.

NB: While this can be used in the `testBench` function, it cannot be synthesized to hardware.

resetGenN Source #

Arguments

:: forall (dom :: Domain) (n :: Natural). (KnownDomain dom, 1 <= n) |
=> SNat n | Number of initial cycles to hold reset high
-> Reset dom |

Reset generator for simulation purposes. Asserts the reset for the first n cycles.

To be used like:

    rstSystem5 = resetGen @System d5

Example usage:

    >>> sampleN 7 (unsafeToActiveHigh (resetGenN @System d3))
    [True,True,True,False,False,False,False]

NB: While this can be used in the `testBench` function, it cannot be synthesized to hardware.

resetKind :: forall (dom :: Domain) (sync :: ResetKind). (KnownDomain dom, DomainResetKind dom ~ sync) => SResetKind sync Source #

Get `ResetKind` from a KnownDomain context. Example usage:

    f :: forall dom . KnownDomain dom => ....
    f a b c =
      case resetKind @dom of
        SAsynchronous -> foo
        SSynchronous -> bar

systemResetGen :: Reset System Source #

Reset generator for use in simulation, for the `System` clock domain. Asserts the reset for a single cycle.

NB: While this can be used in the `testBench` function, it cannot be synthesized to hardware.

### Example

Expand

    topEntity :: Vec 2 (Vec 3 (Unsigned 8)) -> Vec 6 (Unsigned 8)
    topEntity = concat

    testBench :: Signal System Bool
    testBench = done
      where
        testInput      = pure ((1 :> 2 :> 3 :> Nil) :> (4 :> 5 :> 6 :> Nil) :> Nil)
        expectedOutput = outputVerifier' ((1:>2:>3:>4:>5:>6:>Nil):>Nil)
        done           = exposeClockResetEnable (expectedOutput (topEntity <$> testInput)) clk rst
        clk            = tbSystemClockGen (not <$> done)
        rst            = systemResetGen

unsafeToReset :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom Source #

`unsafeToReset` is unsafe. For asynchronous resets it is unsafe because it can introduce combinatorial loops. In case of synchronous resets it can lead to meta-stability issues in the presence of asynchronous resets.

NB: You probably want to use `unsafeFromActiveLow` or `unsafeFromActiveHigh`.

unsafeFromReset :: forall (dom :: Domain). Reset dom -> Signal dom Bool Source #

`unsafeFromReset` is unsafe because it can introduce:

- meta-stability

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

NB: You probably want to use `unsafeToActiveLow` or `unsafeToActiveHigh`.

unsafeToActiveHigh :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool Source #

Convert a reset to an active high reset. Has no effect if reset is already an active high reset. Is unsafe because it can introduce:

- meta-stability

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

unsafeToActiveLow :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool Source #

Convert a reset to an active low reset. Has no effect if reset is already an active low reset. It is unsafe because it can introduce:

- meta-stability

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

unsafeFromActiveHigh Source #

Arguments

:: forall (dom :: Domain). KnownDomain dom |
=> Signal dom Bool | Reset signal that's `True` when active, and `False` when inactive.
-> Reset dom |

Interpret a signal of bools as an active high reset and convert it to a reset signal corresponding to the domain's setting.

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

unsafeFromActiveLow Source #

Arguments

:: forall (dom :: Domain). KnownDomain dom |
=> Signal dom Bool | Reset signal that's `False` when active, and `True` when inactive.
-> Reset dom |

Interpret a signal of bools as an active low reset and convert it to a reset signal corresponding to the domain's setting.

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

unsafeFromHighPolarity Source #

Arguments

:: forall (dom :: Domain). KnownDomain dom |
=> Signal dom Bool | Reset signal that's `True` when active, and `False` when inactive.
-> Reset dom |

Deprecated: Use `unsafeFromActiveHigh` instead. This function will be removed in Clash 1.12.

Interpret a signal of bools as an active high reset and convert it to a reset signal corresponding to the domain's setting.

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

unsafeFromLowPolarity Source #

Arguments

:: forall (dom :: Domain). KnownDomain dom |
=> Signal dom Bool | Reset signal that's `False` when active, and `True` when inactive.
-> Reset dom |

Deprecated: Use `unsafeFromActiveLow` instead. This function will be removed in Clash 1.12.

Interpret a signal of bools as an active low reset and convert it to a reset signal corresponding to the domain's setting.

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

unsafeToHighPolarity :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool Source #

Deprecated: Use `unsafeToActiveHigh` instead. This function will be removed in Clash 1.12.

Convert a reset to an active high reset. Has no effect if reset is already an active high reset. Is unsafe because it can introduce:

- meta-stability

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

unsafeToLowPolarity :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool Source #

Deprecated: Use `unsafeToActiveLow` instead. This function will be removed in Clash 1.12.

Convert a reset to an active low reset. Has no effect if reset is already an active low reset. It is unsafe because it can introduce:

- meta-stability

For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.

data BiSignalIn (ds :: BiSignalDefault) (dom :: Domain) (n :: Nat) Source #

The in part of an inout port. BiSignalIn has the type role

    >>> :i BiSignalIn
    type role BiSignalIn nominal nominal nominal
    ...

as it is not safe to coerce the default behaviour, synthesis domain or width of the data in the signal.

data BiSignalOut (ds :: BiSignalDefault) (dom :: Domain) (n :: Nat) Source #

The out part of an inout port

Wraps (multiple) writing signals. The semantics are such that only one of the signals may write at a single time step.

BiSignalOut has the type role

    >>> :i BiSignalOut
    type role BiSignalOut nominal nominal nominal
    ...

as it is not safe to coerce the default behaviour, synthesis domain or width of the data in the signal.

#### Instances

Instances details

Monoid (BiSignalOut defaultState dom n) Source # | Monoid instance to support concatenating NB: Not synthesizable
Instance details Defined in Clash.Signal.BiSignal Methods mempty :: BiSignalOut defaultState dom n Source # mappend :: BiSignalOut defaultState dom n -> BiSignalOut defaultState dom n -> BiSignalOut defaultState dom n Source # mconcat :: [BiSignalOut defaultState dom n] -> BiSignalOut defaultState dom n Source #
Semigroup (BiSignalOut defaultState dom n) Source # | NB: Not synthesizable
Instance details Defined in Clash.Signal.BiSignal Methods (<>) :: BiSignalOut defaultState dom n -> BiSignalOut defaultState dom n -> BiSignalOut defaultState dom n Source # sconcat :: NonEmpty (BiSignalOut defaultState dom n) -> BiSignalOut defaultState dom n Source # stimes :: Integral b => b -> BiSignalOut defaultState dom n -> BiSignalOut defaultState dom n Source #
type TryDomain t (BiSignalOut ds dom n) Source # |
Instance details Defined in Clash.Signal.BiSignal type TryDomain t (BiSignalOut ds dom n) = 'Found dom
type HasDomain dom1 (BiSignalOut ds dom2 n) Source # |
Instance details Defined in Clash.Signal.BiSignal type HasDomain dom1 (BiSignalOut ds dom2 n) = DomEq dom1 dom2

type KnownConfiguration (dom :: Domain) (conf :: DomainConfiguration) = (KnownDomain dom, KnownConf dom ~ conf) Source #

data ActiveEdge Source #

Determines clock edge memory elements are sensitive to. Not yet implemented.

Constructors

Rising | Elements are sensitive to the rising edge (low-to-high) of the clock.
Falling | Elements are sensitive to the falling edge (high-to-low) of the clock.

#### Instances

Instances details

Binary ActiveEdge Source # |
Instance details Defined in Clash.Signal.Internal Methods put :: ActiveEdge -> Put Source # get :: Get ActiveEdge Source # putList :: [ActiveEdge] -> Put Source #
NFData ActiveEdge Source # |
Instance details Defined in Clash.Signal.Internal Methods rnf :: ActiveEdge -> () Source #
Data ActiveEdge Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ActiveEdge -> c ActiveEdge Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ActiveEdge Source #

toConstr :: ActiveEdge -> Constr Source #

dataTypeOf :: ActiveEdge -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ActiveEdge) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ActiveEdge) Source #

gmapT :: (forall b. Data b => b -> b) -> ActiveEdge -> ActiveEdge Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ActiveEdge -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ActiveEdge -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ActiveEdge -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ActiveEdge -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ActiveEdge -> m ActiveEdge Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ActiveEdge -> m ActiveEdge Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ActiveEdge -> m ActiveEdge Source #

Generic ActiveEdge Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep ActiveEdge |
Instance details Defined in Clash.Signal.Internal type Rep ActiveEdge = D1 ('MetaData "ActiveEdge" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Rising" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Falling" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ActiveEdge -> Rep ActiveEdge x Source #

to :: Rep ActiveEdge x -> ActiveEdge Source #

Read ActiveEdge Source # |
Instance details Defined in Clash.Signal.Internal Methods readsPrec :: Int -> ReadS ActiveEdge Source # readList :: ReadS [ActiveEdge] Source # readPrec :: ReadPrec ActiveEdge Source # readListPrec :: ReadPrec [ActiveEdge] Source #
Show ActiveEdge Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> ActiveEdge -> ShowS Source # show :: ActiveEdge -> String Source # showList :: [ActiveEdge] -> ShowS Source #
Eq ActiveEdge Source # |
Instance details Defined in Clash.Signal.Internal Methods (==) :: ActiveEdge -> ActiveEdge -> Bool Source # (/=) :: ActiveEdge -> ActiveEdge -> Bool Source #
Ord ActiveEdge Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

compare :: ActiveEdge -> ActiveEdge -> Ordering Source #

(<) :: ActiveEdge -> ActiveEdge -> Bool Source #

(<=) :: ActiveEdge -> ActiveEdge -> Bool Source #

(>) :: ActiveEdge -> ActiveEdge -> Bool Source #

(>=) :: ActiveEdge -> ActiveEdge -> Bool Source #

max :: ActiveEdge -> ActiveEdge -> ActiveEdge Source #

min :: ActiveEdge -> ActiveEdge -> ActiveEdge Source #

Hashable ActiveEdge Source # |
Instance details Defined in Clash.Signal.Internal Methods hashWithSalt :: Int -> ActiveEdge -> Int Source # hash :: ActiveEdge -> Int Source #
type Rep ActiveEdge Source # |
Instance details Defined in Clash.Signal.Internal type Rep ActiveEdge = D1 ('MetaData "ActiveEdge" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Rising" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Falling" 'PrefixI 'False) (U1 :: Type -> Type))

data SActiveEdge (edge :: ActiveEdge) where Source #

Singleton version of `ActiveEdge`

Constructors

SRising :: SActiveEdge 'Rising |
SFalling :: SActiveEdge 'Falling |

#### Instances

Instances details

Show (SActiveEdge edge) Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> SActiveEdge edge -> ShowS Source # show :: SActiveEdge edge -> String Source # showList :: [SActiveEdge edge] -> ShowS Source #

data SInitBehavior (init :: InitBehavior) where Source #

Constructors

SUnknown :: SInitBehavior 'Unknown |
SDefined :: SInitBehavior 'Defined |

#### Instances

Instances details

Show (SInitBehavior init) Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> SInitBehavior init -> ShowS Source # show :: SInitBehavior init -> String Source # showList :: [SInitBehavior init] -> ShowS Source #

data ResetKind Source #

Constructors

Asynchronous | Elements respond asynchronously to changes in their reset input. This means that they do not wait for the next active clock edge, but respond immediately instead. Common on Intel FPGA platforms.
Synchronous | Elements respond synchronously to changes in their reset input. This means that changes in their reset input won't take effect until the next active clock edge. Common on Xilinx FPGA platforms.

#### Instances

Instances details

Binary ResetKind Source # |
Instance details Defined in Clash.Signal.Internal Methods put :: ResetKind -> Put Source # get :: Get ResetKind Source # putList :: [ResetKind] -> Put Source #
NFData ResetKind Source # |
Instance details Defined in Clash.Signal.Internal Methods rnf :: ResetKind -> () Source #
Data ResetKind Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResetKind -> c ResetKind Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResetKind Source #

toConstr :: ResetKind -> Constr Source #

dataTypeOf :: ResetKind -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResetKind) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResetKind) Source #

gmapT :: (forall b. Data b => b -> b) -> ResetKind -> ResetKind Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResetKind -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResetKind -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ResetKind -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResetKind -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResetKind -> m ResetKind Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetKind -> m ResetKind Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetKind -> m ResetKind Source #

Generic ResetKind Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep ResetKind |
Instance details Defined in Clash.Signal.Internal type Rep ResetKind = D1 ('MetaData "ResetKind" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Asynchronous" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Synchronous" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ResetKind -> Rep ResetKind x Source #

to :: Rep ResetKind x -> ResetKind Source #

Read ResetKind Source # |
Instance details Defined in Clash.Signal.Internal Methods readsPrec :: Int -> ReadS ResetKind Source # readList :: ReadS [ResetKind] Source # readPrec :: ReadPrec ResetKind Source # readListPrec :: ReadPrec [ResetKind] Source #
Show ResetKind Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> ResetKind -> ShowS Source # show :: ResetKind -> String Source # showList :: [ResetKind] -> ShowS Source #
Eq ResetKind Source # |
Instance details Defined in Clash.Signal.Internal Methods (==) :: ResetKind -> ResetKind -> Bool Source # (/=) :: ResetKind -> ResetKind -> Bool Source #
Ord ResetKind Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

compare :: ResetKind -> ResetKind -> Ordering Source #

(<) :: ResetKind -> ResetKind -> Bool Source #

(<=) :: ResetKind -> ResetKind -> Bool Source #

(>) :: ResetKind -> ResetKind -> Bool Source #

(>=) :: ResetKind -> ResetKind -> Bool Source #

max :: ResetKind -> ResetKind -> ResetKind Source #

min :: ResetKind -> ResetKind -> ResetKind Source #

Hashable ResetKind Source # |
Instance details Defined in Clash.Signal.Internal Methods hashWithSalt :: Int -> ResetKind -> Int Source # hash :: ResetKind -> Int Source #
type Rep ResetKind Source # |
Instance details Defined in Clash.Signal.Internal type Rep ResetKind = D1 ('MetaData "ResetKind" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Asynchronous" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Synchronous" 'PrefixI 'False) (U1 :: Type -> Type))

data SResetKind (resetKind :: ResetKind) where Source #

Singleton version of `ResetKind`

Constructors

SAsynchronous :: SResetKind 'Asynchronous |
SSynchronous :: SResetKind 'Synchronous |

#### Instances

Instances details

Show (SResetKind reset) Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> SResetKind reset -> ShowS Source # show :: SResetKind reset -> String Source # showList :: [SResetKind reset] -> ShowS Source #

data ResetPolarity Source #

Determines the value for which a reset line is considered "active"

Constructors

ActiveHigh | Reset is considered active if underlying signal is `True`.
ActiveLow | Reset is considered active if underlying signal is `False`.

#### Instances

Instances details

Binary ResetPolarity Source # |
Instance details Defined in Clash.Signal.Internal Methods put :: ResetPolarity -> Put Source # get :: Get ResetPolarity Source # putList :: [ResetPolarity] -> Put Source #
NFData ResetPolarity Source # |
Instance details Defined in Clash.Signal.Internal Methods rnf :: ResetPolarity -> () Source #
Data ResetPolarity Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResetPolarity -> c ResetPolarity Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResetPolarity Source #

toConstr :: ResetPolarity -> Constr Source #

dataTypeOf :: ResetPolarity -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResetPolarity) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResetPolarity) Source #

gmapT :: (forall b. Data b => b -> b) -> ResetPolarity -> ResetPolarity Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResetPolarity -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResetPolarity -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ResetPolarity -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResetPolarity -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResetPolarity -> m ResetPolarity Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetPolarity -> m ResetPolarity Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetPolarity -> m ResetPolarity Source #

Generic ResetPolarity Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep ResetPolarity |
Instance details Defined in Clash.Signal.Internal type Rep ResetPolarity = D1 ('MetaData "ResetPolarity" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "ActiveHigh" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ActiveLow" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ResetPolarity -> Rep ResetPolarity x Source #

to :: Rep ResetPolarity x -> ResetPolarity Source #

Read ResetPolarity Source # |
Instance details Defined in Clash.Signal.Internal Methods readsPrec :: Int -> ReadS ResetPolarity Source # readList :: ReadS [ResetPolarity] Source # readPrec :: ReadPrec ResetPolarity Source # readListPrec :: ReadPrec [ResetPolarity] Source #
Show ResetPolarity Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> ResetPolarity -> ShowS Source # show :: ResetPolarity -> String Source # showList :: [ResetPolarity] -> ShowS Source #
Eq ResetPolarity Source # |
Instance details Defined in Clash.Signal.Internal Methods (==) :: ResetPolarity -> ResetPolarity -> Bool Source # (/=) :: ResetPolarity -> ResetPolarity -> Bool Source #
Ord ResetPolarity Source # |

Instance details

Defined in Clash.Signal.Internal

Methods

compare :: ResetPolarity -> ResetPolarity -> Ordering Source #

(<) :: ResetPolarity -> ResetPolarity -> Bool Source #

(<=) :: ResetPolarity -> ResetPolarity -> Bool Source #

(>) :: ResetPolarity -> ResetPolarity -> Bool Source #

(>=) :: ResetPolarity -> ResetPolarity -> Bool Source #

max :: ResetPolarity -> ResetPolarity -> ResetPolarity Source #

min :: ResetPolarity -> ResetPolarity -> ResetPolarity Source #

Hashable ResetPolarity Source # |
Instance details Defined in Clash.Signal.Internal Methods hashWithSalt :: Int -> ResetPolarity -> Int Source # hash :: ResetPolarity -> Int Source #
type Rep ResetPolarity Source # |
Instance details Defined in Clash.Signal.Internal type Rep ResetPolarity = D1 ('MetaData "ResetPolarity" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "ActiveHigh" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ActiveLow" 'PrefixI 'False) (U1 :: Type -> Type))

data SResetPolarity (polarity :: ResetPolarity) where Source #

Singleton version of `ResetPolarity`

Constructors

SActiveHigh :: SResetPolarity 'ActiveHigh |
SActiveLow :: SResetPolarity 'ActiveLow |

#### Instances

Instances details

Show (SResetPolarity polarity) Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> SResetPolarity polarity -> ShowS Source # show :: SResetPolarity polarity -> String Source # showList :: [SResetPolarity polarity] -> ShowS Source #

data DomainConfiguration Source #

A domain with a name (`Domain`). Configures the behavior of various aspects of a circuits. See the documentation of this record's field types for more information on the options.

See module documentation of Clash.Explicit.Signal for more information on how to create custom synthesis domains.

Constructors

DomainConfiguration |

Fields

- _name :: Domain

  Domain name

- _period :: Nat

  Period of clock in ps

- _activeEdge :: ActiveEdge

  Active edge of the clock

- _resetKind :: ResetKind

  Whether resets are synchronous (edge-sensitive) or asynchronous (level-sensitive)

- _initBehavior :: InitBehavior

  Whether the initial (or "power up") value of memory elements is unknown/undefined, or configurable to a specific value

- _resetPolarity :: ResetPolarity

  Whether resets are active high or active low

data SDomainConfiguration (dom :: Domain) (conf :: DomainConfiguration) where Source #

Singleton version of `DomainConfiguration`

Constructors

SDomainConfiguration |

Fields

- :: forall (dom :: Domain) (period :: Nat) (edge :: ActiveEdge) (reset :: ResetKind) (init :: InitBehavior) (polarity :: ResetPolarity). { sName :: SSymbol dom

  Domain name

- , sPeriod :: SNat period

  Period of clock in ps

- , sActiveEdge :: SActiveEdge edge

  Active edge of the clock (not yet implemented)

- , sResetKind :: SResetKind reset

  Whether resets are synchronous (edge-sensitive) or asynchronous (level-sensitive)

- , sInitBehavior :: SInitBehavior init

  Whether the initial (or "power up") value of memory elements is unknown/undefined, or configurable to a specific value

- , sResetPolarity :: SResetPolarity polarity

  Whether resets are active high or active low

- } -> SDomainConfiguration dom ('DomainConfiguration dom period edge reset init polarity)

#### Instances

Instances details

Show (SDomainConfiguration dom conf) Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> SDomainConfiguration dom conf -> ShowS Source # show :: SDomainConfiguration dom conf -> String Source # showList :: [SDomainConfiguration dom conf] -> ShowS Source #

type DomainPeriod (dom :: Domain) = DomainConfigurationPeriod (KnownConf dom) Source #

Convenience type to help to extract a period from a domain. Example usage:

    myFunc :: (KnownDomain dom, DomainPeriod dom ~ 6000) => ...

type DomainActiveEdge (dom :: Domain) = DomainConfigurationActiveEdge (KnownConf dom) Source #

Convenience type to help to extract the active edge from a domain. Example usage:

    myFunc :: (KnownDomain dom, DomainActiveEdge dom ~ 'Rising) => ...

type DomainResetKind (dom :: Domain) = DomainConfigurationResetKind (KnownConf dom) Source #

Convenience type to help to extract the reset synchronicity from a domain. Example usage:

    myFunc :: (KnownDomain dom, DomainResetKind dom ~ 'Synchronous) => ...

type DomainInitBehavior (dom :: Domain) = DomainConfigurationInitBehavior (KnownConf dom) Source #

Convenience type to help to extract the initial value behavior from a domain. Example usage:

    myFunc :: (KnownDomain dom, DomainInitBehavior dom ~ 'Defined) => ...

type DomainResetPolarity (dom :: Domain) = DomainConfigurationResetPolarity (KnownConf dom) Source #

Convenience type to help to extract the reset polarity from a domain. Example usage:

    myFunc :: (KnownDomain dom, DomainResetPolarity dom ~ 'ActiveHigh) => ...

type HasSynchronousReset (dom :: Domain) = (KnownDomain dom, DomainResetKind dom ~ 'Synchronous) Source #

Convenience type to constrain a domain to have synchronous resets. Example usage:

    myFunc :: HasSynchronousReset dom => ...

Using this type implies `KnownDomain`.

Click here for usage hints

type HasAsynchronousReset (dom :: Domain) = (KnownDomain dom, DomainResetKind dom ~ 'Asynchronous) Source #

Convenience type to constrain a domain to have asynchronous resets. Example usage:

    myFunc :: HasAsynchronousReset dom => ...

Using this type implies `KnownDomain`.

Click here for usage hints

type HasDefinedInitialValues (dom :: Domain) = (KnownDomain dom, DomainInitBehavior dom ~ 'Defined) Source #

Convenience type to constrain a domain to have initial values. Example usage:

    myFunc :: HasDefinedInitialValues dom => ...

Using this type implies `KnownDomain`.

Note that there is no `UnknownInitialValues dom` as a component that works without initial values will also work if it does have them.

Click here for usage hints

type XilinxSystem = "XilinxSystem" Source #

A clock (and reset) dom with clocks running at 100 MHz. Memory elements respond to the rising edge of the clock, and synchronously to changes in reset signals. It has defined initial values, and active-high resets.

See module documentation of Clash.Explicit.Signal for more information on how to create custom synthesis domains.

type IntelSystem = "IntelSystem" Source #

A clock (and reset) dom with clocks running at 100 MHz. Memory elements respond to the rising edge of the clock, and asynchronously to changes in reset signals. It has defined initial values, and active-high resets.

See module documentation of Clash.Explicit.Signal for more information on how to create custom synthesis domains.

vSystem :: VDomainConfiguration Source #

Convenience value to allow easy "subclassing" of System domain. Should be used in combination with `createDomain`. For example, if you just want to change the period but leave all other settings intact use:

    createDomain vSystem{vName="System10", vPeriod=10}

vIntelSystem :: VDomainConfiguration Source #

Convenience value to allow easy "subclassing" of IntelSystem domain. Should be used in combination with `createDomain`. For example, if you just want to change the period but leave all other settings intact use:

    createDomain vIntelSystem{vName="Intel10", vPeriod=10}

vXilinxSystem :: VDomainConfiguration Source #

Convenience value to allow easy "subclassing" of XilinxSystem domain. Should be used in combination with `createDomain`. For example, if you just want to change the period but leave all other settings intact use:

    createDomain vXilinxSystem{vName="Xilinx10", vPeriod=10}

data VDomainConfiguration Source #

Same as SDomainConfiguration but allows for easy updates through record update syntax. Should be used in combination with `vDomain` and `createDomain`. Example:

    createDomain (knownVDomain @System){vName="System10", vPeriod=10}

This duplicates the settings in the `System` domain, replaces the name and period, and creates an instance for it. As most users often want to update the system domain, a shortcut is available in the form:

    createDomain vSystem{vName="System10", vPeriod=10}

Constructors

VDomainConfiguration |

Fields

- vName :: String

  Corresponds to `_name` on `DomainConfiguration`

- vPeriod :: Natural

  Corresponds to `_period` on `DomainConfiguration`

- vActiveEdge :: ActiveEdge

  Corresponds to `_activeEdge` on `DomainConfiguration`

- vResetKind :: ResetKind

  Corresponds to `_resetKind` on `DomainConfiguration`

- vInitBehavior :: InitBehavior

  Corresponds to `_initBehavior` on `DomainConfiguration`

- vResetPolarity :: ResetPolarity

  Corresponds to `_resetPolarity` on `DomainConfiguration`

#### Instances

Instances details

Binary VDomainConfiguration Source # |
Instance details Defined in Clash.Signal.Internal Methods put :: VDomainConfiguration -> Put Source # get :: Get VDomainConfiguration Source # putList :: [VDomainConfiguration] -> Put Source #
NFData VDomainConfiguration Source # |
Instance details Defined in Clash.Signal.Internal Methods rnf :: VDomainConfiguration -> () Source #
Generic VDomainConfiguration Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep VDomainConfiguration |

Instance details

Defined in Clash.Signal.Internal

type Rep VDomainConfiguration = D1 ('MetaData "VDomainConfiguration" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "VDomainConfiguration" 'PrefixI 'True) ((S1 ('MetaSel ('Just "vName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "vPeriod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "vActiveEdge") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ActiveEdge))) :*: (S1 ('MetaSel ('Just "vResetKind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResetKind) :*: (S1 ('MetaSel ('Just "vInitBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InitBehavior) :*: S1 ('MetaSel ('Just "vResetPolarity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResetPolarity)))))

Methods

from :: VDomainConfiguration -> Rep VDomainConfiguration x Source #

to :: Rep VDomainConfiguration x -> VDomainConfiguration Source #

Read VDomainConfiguration Source # |
Instance details Defined in Clash.Signal.Internal Methods readsPrec :: Int -> ReadS VDomainConfiguration Source # readList :: ReadS [VDomainConfiguration] Source # readPrec :: ReadPrec VDomainConfiguration Source # readListPrec :: ReadPrec [VDomainConfiguration] Source #
Show VDomainConfiguration Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> VDomainConfiguration -> ShowS Source # show :: VDomainConfiguration -> String Source # showList :: [VDomainConfiguration] -> ShowS Source #
Eq VDomainConfiguration Source # |
Instance details Defined in Clash.Signal.Internal Methods (==) :: VDomainConfiguration -> VDomainConfiguration -> Bool Source # (/=) :: VDomainConfiguration -> VDomainConfiguration -> Bool Source #
type Rep VDomainConfiguration Source # |

Instance details

Defined in Clash.Signal.Internal

type Rep VDomainConfiguration = D1 ('MetaData "VDomainConfiguration" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "VDomainConfiguration" 'PrefixI 'True) ((S1 ('MetaSel ('Just "vName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "vPeriod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "vActiveEdge") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ActiveEdge))) :*: (S1 ('MetaSel ('Just "vResetKind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResetKind) :*: (S1 ('MetaSel ('Just "vInitBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InitBehavior) :*: S1 ('MetaSel ('Just "vResetPolarity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResetPolarity)))))

vDomain :: forall (dom :: Domain) (conf :: DomainConfiguration). SDomainConfiguration dom conf -> VDomainConfiguration Source #

Convert `SDomainConfiguration` to `VDomainConfiguration`. Should be used in combination with `createDomain` only.

createDomain :: VDomainConfiguration -> Q [Dec] Source #

Convenience method to express new domains in terms of others.

    createDomain (knownVDomain @System){vName="System10", vPeriod=10}

This duplicates the settings in the System domain, replaces the name and period, and creates an instance for it. As most users often want to update the system domain, a shortcut is available in the form:

    createDomain vSystem{vName="System10", vPeriod=10}

The function will create two extra identifiers. The first:

    type System10 = ..

You can use that as the dom to Clocks/Resets/Enables/Signals. For example: `Signal System10 Int`. Additionally, it will create a `VDomainConfiguration` that you can use in later calls to `createDomain`:

    vSystem10 = knownVDomain @System10

It will also make `System10` an instance of `KnownDomain`.

If either identifier is already in scope it will not be generated a second time. Note: This can be useful for example when documenting a new domain:

    -- | Here is some documentation for CustomDomain
    type CustomDomain = ("CustomDomain" :: Domain)

    -- | Here is some documentation for vCustomDomain
    createDomain vSystem{vName="CustomDomain"}

knownVDomain :: forall (dom :: Domain). KnownDomain dom => VDomainConfiguration Source #

Like 'knownDomain but yields a `VDomainConfiguration`. Should only be used in combination with `createDomain`.

activeEdge :: forall (dom :: Domain) (edge :: ActiveEdge). (KnownDomain dom, DomainActiveEdge dom ~ edge) => SActiveEdge edge Source #

Get `ActiveEdge` from a KnownDomain context. Example usage:

    f :: forall dom . KnownDomain dom => ....
    f a b c =
      case activeEdge @dom of
        SRising -> foo
        SFalling -> bar

initBehavior :: forall (dom :: Domain) (init :: InitBehavior). (KnownDomain dom, DomainInitBehavior dom ~ init) => SInitBehavior init Source #

Get `InitBehavior` from a KnownDomain context. Example usage:

    f :: forall dom . KnownDomain dom => ....
    f a b c =
      case initBehavior @dom of
        SDefined -> foo
        SUnknown -> bar

resetPolarity :: forall (dom :: Domain) (polarity :: ResetPolarity). (KnownDomain dom, DomainResetPolarity dom ~ polarity) => SResetPolarity polarity Source #

Get `ResetPolarity` from a KnownDomain context. Example usage:

    f :: forall dom . KnownDomain dom => ....
    f a b c =
      case resetPolarity @dom of
        SActiveHigh -> foo
        SActiveLow -> bar

toEnable :: forall (dom :: Domain). Signal dom Bool -> Enable dom Source #

Convert a signal of bools to an `Enable` construct

enableGen :: forall (dom :: Domain). Enable dom Source #

Enable generator for some domain. Is simply always True.

data DiffClock (dom :: Domain) Source #

A differential clock signal belonging to a domain named dom. The clock input of a design with such an input has two ports which are in antiphase. The first input is the positive phase, the second the negative phase. When using `makeTopEntity`, the names of the inputs will end in `_p` and `_n` respectively.

To create a differential clock in a test bench, you can use `clockToDiffClock`.

#### Instances

Instances details

Show (DiffClock dom) Source # |
Instance details Defined in Clash.Signal.Internal Methods showsPrec :: Int -> DiffClock dom -> ShowS Source # show :: DiffClock dom -> String Source # showList :: [DiffClock dom] -> ShowS Source #

periodToHz :: (HasCallStack, Fractional a) => Natural -> a Source #

Calculate the frequency in Hz, given the period in ps

I.e., to calculate the clock frequency of a clock with a period of 5000 ps:

    >>> periodToHz 5000
    2.0e8

Note that if `p` in `periodToHz (`fromIntegral` p)` is negative, `fromIntegral` will give an ``Underflow` :: `ArithException`` without a call stack, making debugging cumbersome.

Before Clash 1.8, this function always returned a `Ratio` `Natural`. To get the old behavior of this function, use a type application:

    >>> periodToHz @(Ratio Natural) 5000
    200000000 % 1

NB: This function is not synthesizable

hzToPeriod :: (HasCallStack, Integral a) => Ratio Natural -> a Source #

Calculate the period in ps, given a frequency in Hz

I.e., to calculate the clock period for a circuit to run at 240 MHz we get

    >>> hzToPeriod 240e6
    4166

If the value `hzToPeriod` is applied to is not of the type `Ratio` `Natural`, you can use `hzToPeriod (`realToFrac` f)`. Note that if `f` is negative, `realToFrac` will give an ``Underflow` :: `ArithException`` without a call stack, making debugging cumbersome.

Before Clash 1.8, this function always returned a `Natural`. To get the old behavior of this function, use a type application:

    >>> hzToPeriod @Natural 240e6
    4166

- NB: This function is not synthesizable
- NB: This function is lossy. I.e., `periodToHz . hzToPeriod /= id`.

dflipflop :: forall (dom :: Domain) a. (HiddenClock dom, NFDataX a) => Signal dom a -> Signal dom a Source #

Special version of `delay` that doesn't take enable signals of any kind. Initial value will be undefined.

delayMaybe Source #

Arguments

:: forall (dom :: Domain) a. (NFDataX a, HiddenClock dom, HiddenEnable dom) |
=> a | Initial value
-> Signal dom (Maybe a) |
-> Signal dom a |

Version of `delay` that only updates when its second argument is a `Just` value.

    >>> let input = fromList [Just 1, Just 2, Nothing, Nothing, Just 5, Just 6, Just (7::Int)]
    >>> sampleN @System 7 (delayMaybe 0 input)
    [0,1,2,2,2,5,6]

delayEn Source #

Arguments

:: forall (dom :: Domain) a. (NFDataX a, HiddenClock dom, HiddenEnable dom) |
=> a | Initial value
-> Signal dom Bool | Enable
-> Signal dom a |
-> Signal dom a |

Version of `delay` that only updates when its second argument is asserted.

    >>> let input = fromList [1,2,3,4,5,6,7::Int]
    >>> let enable = fromList [True,True,False,False,True,True,True]
    >>> sampleN @System 7 (delayEn 0 enable input)
    [0,1,2,2,2,5,6]

regMaybe infixr 3 Source #

Arguments

:: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a) |
=> a | Reset value. `regMaybe` outputs the reset value when the reset is active. If the domain has initial values enabled, the reset value will also be the initial value.
-> Signal dom (Maybe a) |
-> Signal dom a |

Version of `register` that only updates its content when its second argument is a `Just` value. So given:

    sometimes1 = s where
      s = register Nothing (switch <$> s)

      switch Nothing = Just 1
      switch _       = Nothing

    countSometimes = s where
      s     = regMaybe 0 (plusM (pure <$> s) sometimes1)
      plusM = liftA2 (liftA2 (+))

We get:

    >>> sampleN @System 9 sometimes1
    [Nothing,Nothing,Just 1,Nothing,Just 1,Nothing,Just 1,Nothing,Just 1]
    >>> sampleN @System 9 countSometimes
    [0,0,0,1,1,2,2,3,3]

regEn Source #

Arguments

:: forall (dom :: Domain) a. (HiddenClockResetEnable dom, NFDataX a) |
=> a | Reset value. `regEn` outputs the reset value when the reset is active. If the domain has initial values enabled, the reset value will also be the initial value.
-> Signal dom Bool |
-> Signal dom a |
-> Signal dom a |

Version of `register` that only updates its content when its second argument is asserted. So given:

    oscillate = register False (not <$> oscillate)
    count     = regEn 0 oscillate (count + 1)

We get:

    >>> sampleN @System 9 oscillate
    [False,False,True,False,True,False,True,False,True]
    >>> sampleN @System 9 count
    [0,0,0,1,1,2,2,3,3]

clockGen :: forall (dom :: Domain). KnownDomain dom => Clock dom Source #

Clock generator for simulations. Do not use this clock generator for the testBench function, use `tbClockGen` instead.

To be used like:

    clkSystem = clockGen @System

See `DomainConfiguration` for more information on how to use synthesis domains.

systemClockGen :: Clock System Source #

Clock generator for the `System` clock domain.

NB: Should only be used for simulation, and not for the testBench function. For the testBench function, used `tbSystemClockGen`

data EmptyTuple Source #

See `TaggedEmptyTuple`

Constructors

EmptyTuple |

#### Instances

Instances details

Bundle EmptyTuple Source # | See commit 94b0bff5 and documentation for `TaggedEmptyTuple`.

Instance details

Defined in Clash.Signal.Bundle

Associated Types

type Unbundled dom EmptyTuple |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom EmptyTuple = TaggedEmptyTuple dom

Methods

bundle :: forall (dom :: Domain). Unbundled dom EmptyTuple -> Signal dom EmptyTuple Source #

unbundle :: forall (dom :: Domain). Signal dom EmptyTuple -> Unbundled dom EmptyTuple Source #

Bundle EmptyTuple Source # | See commit 94b0bff5 and documentation for `TaggedEmptyTuple`.

Instance details

Defined in Clash.Signal.Delayed.Bundle

Associated Types

type Unbundled dom d EmptyTuple |
Instance details Defined in Clash.Signal.Delayed.Bundle type Unbundled dom d EmptyTuple = TaggedEmptyTuple dom d

Methods

bundle :: forall (dom :: Domain) (d :: Nat). Unbundled dom d EmptyTuple -> DSignal dom d EmptyTuple Source #

unbundle :: forall (dom :: Domain) (d :: Nat). DSignal dom d EmptyTuple -> Unbundled dom d EmptyTuple Source #

type Unbundled dom EmptyTuple Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom EmptyTuple = TaggedEmptyTuple dom
type Unbundled dom d EmptyTuple Source # |
Instance details Defined in Clash.Signal.Delayed.Bundle type Unbundled dom d EmptyTuple = TaggedEmptyTuple dom d

data TaggedEmptyTuple (dom :: Domain) Source #

Helper type to emulate the "old" behavior of Bundle's unit instance. I.e., the instance for `Bundle ()` used to be defined as:

    class Bundle () where
      bundle   :: () -> Signal dom ()
      unbundle :: Signal dom () -> ()

In order to have sensible type inference, the `Bundle` class specifies that the argument type of `bundle` should uniquely identify the result type, and vice versa for `unbundle`. The type signatures in the snippet above don't though, as `()` doesn't uniquely map to a specific domain. In other words, `domain` should occur in both the argument and result of both functions.

`TaggedEmptyTuple` tackles this by carrying the domain in its type. The `bundle` and `unbundle` instance now looks like:

    class Bundle EmptyTuple where
      bundle   :: TaggedEmptyTuple dom -> Signal dom EmptyTuple
      unbundle :: Signal dom EmptyTuple -> TaggedEmptyTuple dom

`dom` is now mentioned both the argument and result for both `bundle` and `unbundle`.

Constructors

TaggedEmptyTuple |

simulate Source #

Arguments

:: forall (dom :: Domain) a b. (KnownDomain dom, NFDataX a, NFDataX b) |
=> (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) | Circuit to simulate, whose source potentially has a hidden clock, reset, and/or enable.
-> [a] |
-> [b] |

Simulate a (``Signal` a -> `Signal` b`) function given a list of samples of type a

    >>> simulate @System (register 8) [1, 2, 3]
    [8,1,2,3...
    ...

Where `System` denotes the domain to simulate on. The reset line is asserted for a single cycle. The first value is therefore supplied twice to the circuit: once while reset is high, and once directly after. The first output value (the value produced while the reset is asserted) is dropped.

If you only want to simulate a finite number of samples, see `simulateN`. If you need the reset line to be asserted for more than one cycle or if you need a custom reset value, see `simulateWithReset` and `simulateWithResetN`.

NB: This function is not synthesizable

simulateB Source #

Arguments

:: forall (dom :: Domain) a b. (KnownDomain dom, Bundle a, Bundle b, NFDataX a, NFDataX b) |
=> (HiddenClockResetEnable dom => Unbundled dom a -> Unbundled dom b) | Function we want to simulate, whose components potentially have a hidden clock (and reset)
-> [a] |
-> [b] |

Simulate a (``Unbundled` a -> `Unbundled` b`) function given a list of samples of type `a`

    >>> simulateB @System (unbundle . register (8,8) . bundle) [(1,1), (2,2), (3,3)] :: [(Int,Int)]
    [(8,8),(1,1),(2,2),(3,3)...
    ...

NB: This function is not synthesizable

simulateWithReset Source #

Arguments

:: forall (dom :: Domain) a b (m :: Natural). (KnownDomain dom, NFDataX a, NFDataX b, 1 <= m) |
=> SNat m | Number of cycles to assert the reset
-> a | Reset value
-> (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) | `Signal` we want to sample, whose source potentially has a hidden clock (and reset)
-> [a] |
-> [b] |

Same as `simulate`, but with the reset line asserted for n cycles. Similar to `simulate`, `simulateWithReset` will drop the output values produced while the reset is asserted. While the reset is asserted, the reset value a is supplied to the circuit.

simulateWithResetN Source #

Arguments

:: forall (dom :: Domain) a b (m :: Natural). (KnownDomain dom, NFDataX a, NFDataX b, 1 <= m) |
=> SNat m | Number of cycles to assert the reset
-> a | Reset value
-> Int | Number of cycles to simulate (excluding cycles spent in reset)
-> (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) | `Signal` we want to sample, whose source potentially has a hidden clock (and reset)
-> [a] |
-> [b] |

Same as `simulateWithReset`, but only sample the first Int output values.

runUntil Source #

Arguments

:: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a, ShowX a) |
=> (a -> Bool) | Condition checking function, should return `True` to finish run
-> (HiddenClockResetEnable dom => Signal dom a) | `Signal` we want to sample for the condition, potentially having a hidden clock, reset and/or enable
-> IO () |

Simulate a component until it matches a condition

If the given component has not yet been given a clock, reset, or enable line, `runUntil` will supply them. The reset will be asserted for a single cycle.

It prints a message of the form

    Signal sampled for N cycles until value X

NB: This function is not synthesizable

### Example with test bench

Expand

A common usage is with a test bench using `outputVerifier`.

NB: Since this uses `assert`, when using `clashi`, read the note at Clash.Explicit.Testbench.

    import Clash.Prelude
    import Clash.Explicit.Testbench

    topEntity
      :: Signal System Int
      -> Signal System Int
    topEntity = id

    testBench
      :: Signal System Bool
    testBench = done
     where
      testInput = stimuliGenerator clk rst $(listToVecTH [1 :: Int .. 10])
      expectedOutput =
        outputVerifier' clk rst $(listToVecTH $ [1 :: Int .. 9] <> [42])
      done = expectedOutput $ topEntity testInput
      clk = tbSystemClockGen (not <$> done)
      rst = systemResetGen

    > runUntil id testBench

    cycle(<Clock: System>): 10, outputVerifier
    expected value: 42, not equal to actual value: 10
    Signal sampled for 11 cycles until value True

When you need to verify multiple test benches, the following invocations come in handy:

    > mapM_ (runUntil id) [ testBenchA, testBenchB ]

or when the test benches are in different clock domains:

    testBenchA :: Signal DomA Bool
    testBenchB :: Signal DomB Bool

    > sequence_ [ runUntil id testBenchA, runUntil id testBenchB ]

simulate_lazy Source #

Arguments

:: forall (dom :: Domain) a b. KnownDomain dom |
=> (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) | Function we want to simulate, whose components potentially have a hidden clock (and reset)
-> [a] |
-> [b] |

Lazily simulate a (``Signal` a -> `Signal` b`) function given a list of samples of type a

    >>> simulate @System (register 8) [1, 2, 3]
    [8,1,2,3...
    ...

NB: This function is not synthesizable

simulateB_lazy Source #

Arguments

:: forall (dom :: Domain) a b. (KnownDomain dom, Bundle a, Bundle b) |
=> (HiddenClockResetEnable dom => Unbundled dom a -> Unbundled dom b) | Function we want to simulate, whose components potentially have a hidden clock (and reset)
-> [a] |
-> [b] |

Lazily simulate a (``Unbundled` a -> `Unbundled` b`) function given a list of samples of type `a`

    >>> simulateB @System (unbundle . register (8,8) . bundle) [(1,1), (2,2), (3,3)] :: [(Int,Int)]
    [(8,8),(1,1),(2,2),(3,3)...
    ...

NB: This function is not synthesizable

signalAutomaton :: forall (dom :: Domain) a b. KnownDomain dom => (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) -> Automaton (->) a b Source #

Build an `Automaton` from a function over `Signal`s.

NB: Consumption of continuation of the `Automaton` must be affine; that is, you can only apply the continuation associated with a particular element at most once.

sampleN Source #

Arguments

:: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) |
=> Int | Number of samples to produce
-> (HiddenClockResetEnable dom => Signal dom a) | `Signal` to sample, whose source potentially has a hidden clock (and reset)
-> [a] |

Get a list of n samples from a `Signal`

The elements in the list correspond to the values of the `Signal` at consecutive clock cycles

    sampleN @System 3 s == [s0, s1, s2]

If the given component has not yet been given a clock, reset, or enable line, `sampleN` will supply them. The reset will be asserted for a single cycle. `sampleN` will not drop the value produced by the circuit while the reset was asserted. If you want this, or if you want more than a single cycle reset, consider using `sampleWithResetN`.

NB: This function is not synthesizable

sampleWithReset Source #

Arguments

:: forall (dom :: Domain) a (m :: Natural). (KnownDomain dom, NFDataX a, 1 <= m) |
=> SNat m | Number of cycles to assert the reset
-> (HiddenClockResetEnable dom => Signal dom a) | `Signal` to sample, whose source potentially has a hidden clock (and reset)
-> [a] |

Get an infinite list of samples from a `Signal`, while asserting the reset line for m clock cycles. `sampleWithReset` does not return the first m cycles, i.e., when the reset is asserted.

NB: This function is not synthesizable

sampleWithResetN Source #

Arguments

:: forall (dom :: Domain) a (m :: Natural). (KnownDomain dom, NFDataX a, 1 <= m) |
=> SNat m | Number of cycles to assert the reset
-> Int | Number of samples to produce
-> (HiddenClockResetEnable dom => Signal dom a) | `Signal` to sample, whose source potentially has a hidden clock (and reset)
-> [a] |

Get a list of n samples from a `Signal`, while asserting the reset line for m clock cycles. `sampleWithReset` does not return the first m cycles, i.e., while the reset is asserted.

NB: This function is not synthesizable

fromListWithReset :: forall (dom :: Domain) a. (HiddenReset dom, NFDataX a) => a -> [a] -> Signal dom a Source #

Like `fromList`, but resets on reset and has a defined reset value.

    >>> let rst = unsafeFromActiveHigh (fromList [True, True, False, False, True, False])
    >>> let res = withReset rst (fromListWithReset Nothing [Just 'a', Just 'b', Just 'c'])
    >>> sampleN @System 6 res
    [Nothing,Nothing,Just 'a',Just 'b',Nothing,Just 'a']

NB: This function is not synthesizable

sample_lazy Source #

Arguments

:: forall (dom :: Domain) a. KnownDomain dom |
=> (HiddenClockResetEnable dom => Signal dom a) | `Signal` we want to sample, whose source potentially has a hidden clock (and reset)
-> [a] |

Lazily get an infinite list of samples from a `Signal`

The elements in the list correspond to the values of the `Signal` at consecutive clock cycles

    sample s == [s0, s1, s2, s3, ...

If the given component has not yet been given a clock, reset, or enable line, `sample_lazy` will supply them. The reset will be asserted for a single cycle. `sample_lazy` will not drop the value produced by the circuit while the reset was asserted.

NB: This function is not synthesizable

sampleN_lazy Source #

Arguments

:: forall (dom :: Domain) a. KnownDomain dom |
=> Int |
-> (HiddenClockResetEnable dom => Signal dom a) | `Signal` we want to sample, whose source potentially has a hidden clock (and reset)
-> [a] |

Lazily get a list of n samples from a `Signal`

The elements in the list correspond to the values of the `Signal` at consecutive clock cycles

    sampleN @System 3 s == [s0, s1, s2]

If the given component has not yet been given a clock, reset, or enable line, `sampleN_lazy` will supply them. The reset will be asserted for a single cycle. `sampleN_lazy` will not drop the value produced by the circuit while the reset was asserted.

NB: This function is not synthesizable

fromList_lazy :: forall a (dom :: Domain). [a] -> Signal dom a Source #

Create a `Signal` from a list

Every element in the list will correspond to a value of the signal for one clock cycle.

    >>> sampleN 2 (fromList [1,2,3,4,5] :: Signal System Int)
    [1,2]

NB: This function is not synthesizable

testFor Source #

Arguments

:: forall (dom :: Domain). KnownDomain dom |
=> Int | The number of cycles we want to test for
-> (HiddenClockResetEnable dom => Signal dom Bool) | `Signal` we want to evaluate, whose source potentially has a hidden clock (and reset)
-> Property |

`testFor n s` tests the signal s for n cycles.

NB: This function is not synthesizable

(./=.) :: (Eq a, Applicative f) => f a -> f a -> f Bool infix 4 Source #

The above type is a generalization for:

    (./=.) :: Eq a => Signal a -> Signal a -> Signal Bool

It is a version of (`/=`) that returns a `Signal` of `Bool`

veryUnsafeToBiSignalIn :: forall (n :: Nat) (ds :: BiSignalDefault) (d :: Domain). (HasCallStack, KnownNat n, Given (SBiSignalDefault ds)) => BiSignalOut ds d n -> BiSignalIn ds d n Source #

Converts the `out` part of a BiSignal to an `in` part. In simulation it checks whether multiple components are writing and will error accordingly. Make sure this is only called ONCE for every BiSignal.

readFromBiSignal Source #

Arguments

:: forall a (ds :: BiSignalDefault) (d :: Domain). (HasCallStack, BitPack a) |
=> BiSignalIn ds d (BitSize a) | A `BiSignalIn` with a number of bits needed to represent a
-> Signal d a |

Read the value from an inout port

writeToBiSignal Source #

Arguments

:: forall a (ds :: BiSignalDefault) (d :: Domain). (HasCallStack, BitPack a, NFDataX a) |
=> BiSignalIn ds d (BitSize a) |

-> Signal d (Maybe a)

Value to write

- Just a writes an a value
- Nothing puts the port in a high-impedance state

-> BiSignalOut ds d (BitSize a) |

Write to an inout port

mergeBiSignalOuts :: forall (n :: Nat) (defaultState :: BiSignalDefault) (dom :: Domain) (m :: Nat). (HasCallStack, KnownNat n) => Vec n (BiSignalOut defaultState dom m) -> BiSignalOut defaultState dom m Source #

Combine several inout signals into one.

hideClock Source #

Arguments

:: forall (dom :: Domain) r. HiddenClock dom |
=> (Clock dom -> r) | Function whose clock argument you want to hide
-> r |

Hide the `Clock` argument of a component, so it can be routed implicitly.

Click here to read more about hidden clocks, resets, and enables

hideEnable Source #

Arguments

:: forall (dom :: Domain) r. HiddenEnable dom |
=> (Enable dom -> r) | Component whose enable argument you want to hide
-> r |

Hide the `Enable` argument of a component, so it can be routed implicitly.

Click here to read more about hidden clocks, resets, and enables

hideReset Source #

Arguments

:: forall (dom :: Domain) r. HiddenReset dom |
=> (Reset dom -> r) | Component whose reset argument you want to hide
-> r |

Hide the `Reset` argument of a component, so it can be routed implicitly.

Click here to read more about hidden clocks, resets, and enables

hideClockResetEnable Source #

Arguments

:: forall (dom :: Domain) r. HiddenClockResetEnable dom |
=> (KnownDomain dom => Clock dom -> Reset dom -> Enable dom -> r) | Component whose clock, reset, and enable argument you want to hide
-> r |

Hide the `Clock`, `Reset`, and `Enable` arguments of a component, so they can be routed implicitly.

Click here to read more about hidden clocks, resets, and enables

sameDomain :: forall (domA :: Domain) (domB :: Domain). (KnownDomain domA, KnownDomain domB) => Maybe (domA :~: domB) Source #

We either get evidence that this function was instantiated with the same domains, or Nothing.

exposeClock Source #

Arguments

:: forall (dom :: Domain) r. (HiddenClock dom => r) | The component with a hidden clock
-> KnownDomain dom |
=> Clock dom | The component with its clock argument exposed
-> r |

Expose a hidden `Clock` argument of a component, so it can be applied explicitly.

# 662 "srcClashSignal.hs" Click here to read more about hidden clocks, resets, and enables

### Example

Expand

Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> sig = exposeClock reg clockGen
    >>> sampleN @System 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Force `exposeClock` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> sig = exposeClock @System reg clockGen
    >>> sampleN 10 sig
    [5,5,6,7,8,9,10,11,12,13]

withClock Source #

Arguments

:: forall (dom :: Domain) r. KnownDomain dom |
=> Clock dom | The `Clock` we want to connect
-> (HiddenClock dom => r) | The function with a hidden `Clock` argument
-> r |

Connect an explicit `Clock` to a function with a hidden `Clock`.

# 808 "srcClashSignal.hs" Click here to read more about hidden clocks, resets, and enables

### Example

Expand

Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> sig = withClock clockGen reg
    >>> sampleN @System 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Force `withClock` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> sig = withClock @System clockGen reg
    >>> sampleN 10 sig
    [5,5,6,7,8,9,10,11,12,13]

hasClock :: forall (dom :: Domain). HiddenClock dom => Clock dom Source #

Connect a hidden `Clock` to an argument where a normal `Clock` argument was expected.

Click here to read more about hidden clocks, resets, and enables

exposeReset Source #

Arguments

:: forall (dom :: Domain) r. (HiddenReset dom => r) | The component with a hidden reset
-> KnownDomain dom |
=> Reset dom | The component with its reset argument exposed
-> r |

Expose a hidden `Reset` argument of a component, so it can be applied explicitly.

# 912 "srcClashSignal.hs" === Example Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> sig = exposeReset reg resetGen
    >>> sampleN @System 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Force `exposeReset` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> sig = exposeReset @System reg resetGen
    >>> sampleN 10 sig
    [5,5,6,7,8,9,10,11,12,13]

withReset Source #

Arguments

:: forall (dom :: Domain) r. KnownDomain dom |
=> Reset dom | The `Reset` we want to connect
-> (HiddenReset dom => r) | The function with a hidden `Reset` argument
-> r |

Connect an explicit `Reset` to a function with a hidden `Reset`.

# 1011 "srcClashSignal.hs" === Example Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> sig = withReset resetGen reg
    >>> sampleN @System 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Force `withReset` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> sig = withReset @System resetGen reg
    >>> sampleN 10 sig
    [5,5,6,7,8,9,10,11,12,13]

hasReset :: forall (dom :: Domain). HiddenReset dom => Reset dom Source #

Connect a hidden `Reset` to an argument where a normal `Reset` argument was expected.

Click here to read more about hidden clocks, resets, and enables

exposeEnable Source #

Arguments

:: forall (dom :: Domain) r. (HiddenEnable dom => r) | The component with a hidden enable
-> KnownDomain dom |
=> Enable dom | The component with its enable argument exposed
-> r |

Expose a hidden `Enable` argument of a component, so it can be applied explicitly.

# 1110 "srcClashSignal.hs" Click here to read more about hidden clocks, resets, and enables

### Example

Expand

Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> sig = exposeEnable reg enableGen
    >>> sampleN @System 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Force `exposeEnable` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> sig = exposeEnable @System reg enableGen
    >>> sampleN 10 sig
    [5,5,6,7,8,9,10,11,12,13]

withEnable Source #

Arguments

:: forall (dom :: Domain) r. KnownDomain dom |
=> Enable dom | The `Enable` we want to connect
-> (HiddenEnable dom => r) | The function with a hidden `Enable` argument
-> r |

Connect an explicit `Enable` to a function with a hidden `Enable`.

# 1208 "srcClashSignal.hs" Click here to read more about hidden clocks, resets, and enables

### Example

Expand

Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> sig = withEnable enableGen reg
    >>> sampleN @System 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Force `withEnable` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> sig = withEnable @System enableGen reg
    >>> sampleN 10 sig
    [5,5,6,7,8,9,10,11,12,13]

hasEnable :: forall (dom :: Domain). HiddenEnable dom => Enable dom Source #

Connect a hidden `Enable` to an argument where a normal `Enable` argument was expected.

Click here to read more about hidden clocks, resets, and enables

exposeClockResetEnable Source #

Arguments

:: forall (dom :: Domain) r. (HiddenClockResetEnable dom => r) | The component with hidden clock, reset, and enable arguments
-> KnownDomain dom |
=> Clock dom | The component with its clock, reset, and enable arguments exposed
-> Reset dom |
-> Enable dom |
-> r |

Expose hidden `Clock`, `Reset`, and `Enable` arguments of a component, so they can be applied explicitly.

# 1424 "srcClashSignal.hs" Click here to read more about hidden clocks, resets, and enables

### Example

Expand

Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> sig = exposeClockResetEnable reg clockGen resetGen enableGen
    >>> sampleN @System 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Force `exposeClockResetEnable` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> sig = exposeClockResetEnable @System reg clockGen resetGen enableGen
    >>> sampleN 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Usage in a testbench context:

    topEntity :: Vec 2 (Vec 3 (Unsigned 8)) -> Vec 6 (Unsigned 8)
    topEntity = concat

    testBench :: Signal System Bool
    testBench = done
      where
        testInput      = pure ((1 :> 2 :> 3 :> Nil) :> (4 :> 5 :> 6 :> Nil) :> Nil)
        expectedOutput = outputVerifier' ((1:>2:>3:>4:>5:>6:>Nil):>Nil)
        done           = exposeClockResetEnable (expectedOutput (topEntity <$> testInput)) clk rst en
        clk            = tbSystemClockGen (not <$> done)
        rst            = systemResetGen
        en             = enableGen

withClockResetEnable Source #

Arguments

:: forall (dom :: Domain) r. KnownDomain dom |
=> Clock dom | The `Clock` we want to connect
-> Reset dom | The `Reset` we want to connect
-> Enable dom | The `Enable` we want to connect
-> (HiddenClockResetEnable dom => r) | The function with a hidden `Clock`, hidden `Reset`, and hidden `Enable` argument
-> r |

Connect an explicit `Clock`, `Reset`, and `Enable` to a function with a hidden `Clock`, `Reset`, and `Enable`.

# 1550 "srcClashSignal.hs" Click here to read more about hidden clocks, resets, and enables

### Example

Expand

Usage with a polymorphic domain:

    >>> reg = register 5 (reg + 1)
    >>> sig = withClockResetEnable clockGen resetGen enableGen reg
    >>> sampleN @System 10 sig
    [5,5,6,7,8,9,10,11,12,13]

Force `withClockResetEnable` to work on `System` (hence `sampleN` not needing an explicit domain later):

    >>> reg = register 5 (reg + 1)
    >>> sig = withClockResetEnable @System clockGen resetGen enableGen reg
    >>> sampleN 10 sig
    [5,5,6,7,8,9,10,11,12,13]

type SystemClockResetEnable = (Hidden (HiddenClockName System) (Clock System), Hidden (HiddenResetName System) (Reset System), Hidden (HiddenEnableName System) (Enable System)) Source #

A constraint that indicates the component needs a `Clock`, a `Reset`, and an `Enable` belonging to the `System` domain.

Click here to read more about hidden clocks, resets, and enables

simulateN Source #

Arguments

:: forall (dom :: Domain) a b. (KnownDomain dom, NFDataX a, NFDataX b) |
=> Int | Number of cycles to simulate (excluding cycle spent in reset)
-> (HiddenClockResetEnable dom => Signal dom a -> Signal dom b) | `Signal` we want to sample, whose source potentially has a hidden clock (and reset)
-> [a] |
-> [b] |

Same as `simulate`, but only sample the first Int output values.

NB: This function is not synthesizable

type family KnownConf (dom :: Domain) :: DomainConfiguration Source #

#### Instances

Instances details

type KnownConf IntelSystem Source # |
Instance details Defined in Clash.Signal.Internal type KnownConf IntelSystem = 'DomainConfiguration IntelSystem 10000 'Rising 'Asynchronous 'Defined 'ActiveHigh
type KnownConf System Source # |
Instance details Defined in Clash.Signal.Internal type KnownConf System = 'DomainConfiguration System 10000 'Rising 'Asynchronous 'Defined 'ActiveHigh
type KnownConf XilinxSystem Source # |
Instance details Defined in Clash.Signal.Internal type KnownConf XilinxSystem = 'DomainConfiguration XilinxSystem 10000 'Rising 'Synchronous 'Defined 'ActiveHigh

type family Unbundled (dom :: Domain) a = (res :: Type) | res -> dom a Source #

#### Instances

Instances details

type Unbundled dom EmptyTuple Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom EmptyTuple = TaggedEmptyTuple dom
type Unbundled dom Bit Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Bit = Signal dom Bit
type Unbundled dom Integer Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Integer = Signal dom Integer
type Unbundled dom () Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom () = Signal dom ()
type Unbundled dom Bool Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Bool = Signal dom Bool
type Unbundled dom Double Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Double = Signal dom Double
type Unbundled dom Float Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Float = Signal dom Float
type Unbundled dom Int Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom Int = Signal dom Int
type Unbundled dom (BitVector n) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom (BitVector n) = Signal dom (BitVector n)
type Unbundled dom (Index n) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom (Index n) = Signal dom (Index n)
type Unbundled dom (Signed n) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom (Signed n) = Signal dom (Signed n)
type Unbundled dom (Unsigned n) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom (Unsigned n) = Signal dom (Unsigned n)
type Unbundled dom (Maybe a) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom (Maybe a) = Signal dom (Maybe a)
type Unbundled dom (Either a b) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom (Either a b) = Signal dom (Either a b)
type Unbundled t (RTree d a) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (RTree d a) = RTree d (Signal t a)
type Unbundled t (Vec n a) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (Vec n a) = Vec n (Signal t a)
type Unbundled t (a1, a2) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2) = (Signal t a1, Signal t a2)
type Unbundled dom (Fixed rep int frac) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled dom (Fixed rep int frac) = Signal dom (Fixed rep int frac)
type Unbundled t (a1, a2, a3) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3) = (Signal t a1, Signal t a2, Signal t a3)
type Unbundled t ((f :*: g) a) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t ((f :*: g) a) = (Compose (Signal t) f :*: Compose (Signal t) g) a
type Unbundled t (a1, a2, a3, a4) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4)
type Unbundled t (a1, a2, a3, a4, a5) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4, a5) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4, Signal t a5)
type Unbundled t (a1, a2, a3, a4, a5, a6) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4, a5, a6) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4, Signal t a5, Signal t a6)
type Unbundled t (a1, a2, a3, a4, a5, a6, a7) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4, a5, a6, a7) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4, Signal t a5, Signal t a6, Signal t a7)
type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4, Signal t a5, Signal t a6, Signal t a7, Signal t a8)
type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8, a9) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4, Signal t a5, Signal t a6, Signal t a7, Signal t a8, Signal t a9)
type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4, Signal t a5, Signal t a6, Signal t a7, Signal t a8, Signal t a9, Signal t a10)
type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4, Signal t a5, Signal t a6, Signal t a7, Signal t a8, Signal t a9, Signal t a10, Signal t a11)
type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source # | NB: The documentation only shows instances up to 3-tuples. By default, instances up to and including 12-tuples will exist. If the flag `large-tuples` is set instances up to the GHC imposed limit will exist. The GHC imposed limit is either 62 or 64 depending on the GHC version.
Instance details Defined in Clash.Signal.Bundle type Unbundled t (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = (Signal t a1, Signal t a2, Signal t a3, Signal t a4, Signal t a5, Signal t a6, Signal t a7, Signal t a8, Signal t a9, Signal t a10, Signal t a11, Signal t a12)

module Clash.Signal.Delayed

## Datatypes

### Bit vectors

module Clash.Sized.BitVector

### Arbitrary-width numbers

module Clash.Sized.Signed

module Clash.Sized.Unsigned

module Clash.Sized.Index

### Fixed point numbers

module Clash.Sized.Fixed

### Fixed size vectors

toList :: forall (n :: Nat) a. Vec n a -> [a] Source #

Convert a vector to a list.

    >>> toList (1:>2:>3:>Nil)
    [1,2,3]

NB: This function is not synthesizable

generate :: forall (n :: Nat) a. SNat n -> (a -> a) -> a -> Vec n a Source #

"`generate` `n f x`" returns a vector with `n` repeated applications of `f` to `x`.

    generate (SNat :: SNat 4) f x == (f x :> f (f x) :> f (f (f x)) :> f (f (f (f x))) :> Nil)
    generate d4 f x               == (f x :> f (f x) :> f (f (f x)) :> f (f (f (f x))) :> Nil)

    >>> generate d4 (+1) 1
    2 :> 3 :> 4 :> 5 :> Nil

"`generate` `n f z`" corresponds to the following circuit layout:

(++) :: forall (n :: Nat) a (m :: Nat). Vec n a -> Vec m a -> Vec (n + m) a infixr 5 Source #

Append two vectors.

    >>> (1:>2:>3:>Nil) ++ (7:>8:>Nil)
    1 :> 2 :> 3 :> 7 :> 8 :> Nil

foldr :: forall a b (n :: Nat). (a -> b -> b) -> b -> Vec n a -> b Source #

`foldr`, applied to a binary operator, a starting value (typically the right-identity of the operator), and a vector, reduces the vector using the binary operator, from right to left:

    foldr f z (x1 :> ... :> xn1 :> xn :> Nil) == x1 `f` (... (xn1 `f` (xn `f` z))...)
    foldr r z Nil                             == z

    >>> foldr (/) 1 (5 :> 4 :> 3 :> 2 :> Nil)
    1.875

"`foldr` `f z xs`" corresponds to the following circuit layout:

NB: `"`foldr` f z xs"` produces a linear structure, which has a depth, or delay, of O(``length` xs`). Use `fold` if your binary operator `f` is associative, as `"`fold` f xs"` produces a structure with a depth of O(log_2(``length` xs`)).

map :: forall a b (n :: Nat). (a -> b) -> Vec n a -> Vec n b Source #

"`map` `f xs`" is the vector obtained by applying f to each element of xs, i.e.,

    map f (x1 :> x2 :>  ... :> xn :> Nil) == (f x1 :> f x2 :> ... :> f xn :> Nil)

and corresponds to the following circuit layout:

indices :: forall (n :: Nat). KnownNat n => SNat n -> Vec n (Index n) Source #

Generate a vector of indices.

    >>> indices d4
    0 :> 1 :> 2 :> 3 :> Nil

unfoldr :: forall (n :: Nat) s a. SNat n -> (s -> (a, s)) -> s -> Vec n a Source #

"`unfoldr` `n f s`" builds a vector of length `n` from a seed value `s`, where every element `a` is created by successive calls of `f` on `s`. Unlike `unfoldr` from Data.List the generating function `f` cannot dictate the length of the resulting vector, it must be statically known.

a simple use of `unfoldr`:

    >>> unfoldr d10 (\s -> (s,s-1)) 10
    10 :> 9 :> 8 :> 7 :> 6 :> 5 :> 4 :> 3 :> 2 :> 1 :> Nil

transpose :: forall (n :: Nat) (m :: Nat) a. KnownNat n => Vec m (Vec n a) -> Vec n (Vec m a) Source #

Transpose a matrix: go from row-major to column-major

    >>> let xss = (1:>2:>Nil):>(3:>4:>Nil):>(5:>6:>Nil):>Nil
    >>> xss
    (1 :> 2 :> Nil) :> (3 :> 4 :> Nil) :> (5 :> 6 :> Nil) :> Nil
    >>> transpose xss
    (1 :> 3 :> 5 :> Nil) :> (2 :> 4 :> 6 :> Nil) :> Nil

concat :: forall (n :: Nat) (m :: Nat) a. Vec n (Vec m a) -> Vec (n * m) a Source #

Concatenate a vector of vectors.

    >>> concat ((1:>2:>3:>Nil) :> (4:>5:>6:>Nil) :> (7:>8:>9:>Nil) :> (10:>11:>12:>Nil) :> Nil)
    1 :> 2 :> 3 :> 4 :> 5 :> 6 :> 7 :> 8 :> 9 :> 10 :> 11 :> 12 :> Nil

zip :: forall (n :: Nat) a b. Vec n a -> Vec n b -> Vec n (a, b) Source #

`zip` takes two vectors and returns a vector of corresponding pairs.

    >>> zip (1:>2:>3:>4:>Nil) (4:>3:>2:>1:>Nil)
    (1,4) :> (2,3) :> (3,2) :> (4,1) :> Nil

head :: forall (n :: Natural) a. Vec (n + 1) a -> a Source #

Extract the first element of a vector

    >>> head (1:>2:>3:>Nil)
    1

    >>> head Nil
    <interactive>:...
        • Couldn't match type ‘1’ with ‘0’
          Expected: Vec (0 + 1) a
            Actual: Vec 0 a
        • In the first argument of ‘head’, namely ‘Nil’
          In the expression: head Nil
          In an equation for ‘it’: it = head Nil

# 448 "srcClashSized/Vector.hs"

tail :: forall (n :: Natural) a. Vec (n + 1) a -> Vec n a Source #

Extract the elements after the head of a vector

    >>> tail (1:>2:>3:>Nil)
    2 :> 3 :> Nil

    >>> tail Nil
    <interactive>:...
        • Couldn't match type ‘1’ with ‘0’
          Expected: Vec (0 + 1) a
            Actual: Vec 0 a
        • In the first argument of ‘tail’, namely ‘Nil’
          In the expression: tail Nil
          In an equation for ‘it’: it = tail Nil

# 494 "srcClashSized/Vector.hs"

last :: forall (n :: Natural) a. Vec (n + 1) a -> a Source #

Extract the last element of a vector

    >>> last (1:>2:>3:>Nil)
    3

    >>> last Nil
    <interactive>:...
        • Couldn't match type ‘1’ with ‘0’
          Expected: Vec (0 + 1) a
            Actual: Vec 0 a
        • In the first argument of ‘last’, namely ‘Nil’
          In the expression: last Nil
          In an equation for ‘it’: it = last Nil

# 540 "srcClashSized/Vector.hs"

init :: forall (n :: Natural) a. Vec (n + 1) a -> Vec n a Source #

Extract all the elements of a vector except the last element

    >>> init (1:>2:>3:>Nil)
    1 :> 2 :> Nil

    >>> init Nil
    <interactive>:...
        • Couldn't match type ‘1’ with ‘0’
          Expected: Vec (0 + 1) a
            Actual: Vec 0 a
        • In the first argument of ‘init’, namely ‘Nil’
          In the expression: init Nil
          In an equation for ‘it’: it = init Nil

# 587 "srcClashSized/Vector.hs"

length :: forall (n :: Nat) a. KnownNat n => Vec n a -> Int Source #

The length of a `Vec`tor as an `Int` value.

    >>> length (6 :> 7 :> 8 :> Nil)
    3

foldl :: forall b a (n :: Nat). (b -> a -> b) -> b -> Vec n a -> b Source #

`foldl`, applied to a binary operator, a starting value (typically the left-identity of the operator), and a vector, reduces the vector using the binary operator, from left to right:

    foldl f z (x1 :> x2 :> ... :> xn :> Nil) == (...((z `f` x1) `f` x2) `f`...) `f` xn
    foldl f z Nil                            == z

    >>> foldl (/) 1 (5 :> 4 :> 3 :> 2 :> Nil)
    8.333333333333333e-3

"`foldl` `f z xs`" corresponds to the following circuit layout:

NB: `"`foldl` f z xs"` produces a linear structure, which has a depth, or delay, of O(``length` xs`). Use `fold` if your binary operator `f` is associative, as `"`fold` f xs"` produces a structure with a depth of O(log_2(``length` xs`)).

foldl1 :: forall a (n :: Natural). (a -> a -> a) -> Vec (n + 1) a -> a Source #

`foldl1` is a variant of `foldl` that has no starting value argument, and thus must be applied to non-empty vectors.

    foldl1 f (x1 :> x2 :> x3 :> ... :> xn :> Nil) == (...((x1 `f` x2) `f` x3) `f`...) `f` xn
    foldl1 f (x1 :> Nil)                          == x1
    foldl1 f Nil                                  == TYPE ERROR

    >>> foldl1 (/) (1 :> 5 :> 4 :> 3 :> 2 :> Nil)
    8.333333333333333e-3

"`foldl1` `f xs`" corresponds to the following circuit layout:

NB: `"`foldl1` f z xs"` produces a linear structure, which has a depth, or delay, of O(``length` xs`). Use `fold` if your binary operator `f` is associative, as `"`fold` f xs"` produces a structure with a depth of O(log_2(``length` xs`)).

scanl :: forall b a (n :: Nat). (b -> a -> b) -> b -> Vec n a -> Vec (n + 1) b Source #

`scanl` is similar to `foldl`, but returns a vector of successive reduced values from the left:

    scanl f z (x1 :> x2 :> ... :> Nil) == z :> (z `f` x1) :> ((z `f` x1) `f` x2) :> ... :> Nil

    >>> scanl (+) 0 (5 :> 4 :> 3 :> 2 :> Nil)
    0 :> 5 :> 9 :> 12 :> 14 :> Nil

"`scanl` `f z xs`" corresponds to the following circuit layout:

- NB:

      last (scanl f z xs) == foldl f z xs

- For a different trade-off between circuit size and logic depth for associative operators, see Clash.Sized.RTree

scanl1 :: forall (n :: Nat) a. KnownNat n => (a -> a -> a) -> Vec (n + 1) a -> Vec (n + 1) a Source #

`scanl` with no seed value

    >>> scanl1 (-) (1 :> 2 :> 3 :> 4 :> Nil)
    1 :> -1 :> -4 :> -8 :> Nil

foldr1 :: forall a (n :: Natural). (a -> a -> a) -> Vec (n + 1) a -> a Source #

`foldr1` is a variant of `foldr` that has no starting value argument, and thus must be applied to non-empty vectors.

    foldr1 f (x1 :> ... :> xn2 :> xn1 :> xn :> Nil) == x1 `f` (... (xn2 `f` (xn1 `f` xn))...)
    foldr1 f (x1 :> Nil)                            == x1
    foldr1 f Nil                                    == TYPE ERROR

    >>> foldr1 (/) (5 :> 4 :> 3 :> 2 :> 1 :> Nil)
    1.875

"`foldr1` `f xs`" corresponds to the following circuit layout:

NB: `"`foldr1` f z xs"` produces a linear structure, which has a depth, or delay, of O(``length` xs`). Use `fold` if your binary operator `f` is associative, as `"`fold` f xs"` produces a structure with a depth of O(log_2(``length` xs`)).

scanr :: forall a b (n :: Nat). (a -> b -> b) -> b -> Vec n a -> Vec (n + 1) b Source #

`scanr` is similar to `foldr`, but returns a vector of successive reduced values from the right:

    scanr f z (... :> xn1 :> xn :> Nil) == ... :> (xn1 `f` (xn `f` z)) :> (xn `f` z) :> z :> Nil

    >>> scanr (+) 0 (5 :> 4 :> 3 :> 2 :> Nil)
    14 :> 9 :> 5 :> 2 :> 0 :> Nil

"`scanr` `f z xs`" corresponds to the following circuit layout:

- NB:

      head (scanr f z xs) == foldr f z xs

- For a different trade-off between circuit size and logic depth for associative operators, see Clash.Sized.RTree

scanr1 :: forall (n :: Nat) a. KnownNat n => (a -> a -> a) -> Vec (n + 1) a -> Vec (n + 1) a Source #

`scanr` with no seed value

    >>> scanr1 (-) (1 :> 2 :> 3 :> 4 :> Nil)
    -2 :> 3 :> -1 :> 4 :> Nil

maximum :: forall a (n :: Natural). Ord a => Vec (n + 1) a -> a Source #

The largest element of a non-empty vector

minimum :: forall a (n :: Natural). Ord a => Vec (n + 1) a -> a Source #

The least element of a non-empty vector

iterate :: forall (n :: Nat) a. SNat n -> (a -> a) -> a -> Vec n a Source #

"`iterate` `n f x`" returns a vector starting with x followed by n repeated applications of f to x.

    iterate (SNat :: SNat 4) f x == (x :> f x :> f (f x) :> f (f (f x)) :> Nil)
    iterate d4 f x               == (x :> f x :> f (f x) :> f (f (f x)) :> Nil)

    >>> iterate d4 (+1) 1
    1 :> 2 :> 3 :> 4 :> Nil

"`iterate` `n f z`" corresponds to the following circuit layout:

repeat :: forall (n :: Nat) a. KnownNat n => a -> Vec n a Source #

"`repeat` `a`" creates a vector with as many copies of a as demanded by the context.

    >>> repeat 6 :: Vec 5 Int
    6 :> 6 :> 6 :> 6 :> 6 :> Nil

replicate :: forall (n :: Nat) a. SNat n -> a -> Vec n a Source #

"`replicate` `n a`" returns a vector that has n copies of a.

    >>> replicate (SNat :: SNat 3) 6
    6 :> 6 :> 6 :> Nil
    >>> replicate d3 6
    6 :> 6 :> 6 :> Nil

take :: forall (m :: Nat) (n :: Natural) a. SNat m -> Vec (m + n) a -> Vec m a Source #

"`take` `n xs`" returns the n-length prefix of xs.

    >>> take (SNat :: SNat 3) (1:>2:>3:>4:>5:>Nil)
    1 :> 2 :> 3 :> Nil
    >>> take d3               (1:>2:>3:>4:>5:>Nil)
    1 :> 2 :> 3 :> Nil
    >>> take d0               (1:>2:>Nil)
    Nil

    >>> take d4               (1:>2:>Nil)
    <interactive>:...
        • Couldn't match type ‘4 + n0’ with ‘2’
          Expected: Vec (4 + n0) a
            Actual: Vec (1 + 1) a
          The type variable ‘n0’ is ambiguous
        • In the second argument of ‘take’, namely ‘(1 :> 2 :> Nil)’
          In the expression: take d4 (1 :> 2 :> Nil)
          In an equation for ‘it’: it = take d4 (1 :> 2 :> Nil)

# 1632 "srcClashSized/Vector.hs"

drop :: forall (m :: Nat) (n :: Natural) a. SNat m -> Vec (m + n) a -> Vec n a Source #

"`drop` `n xs`" returns the suffix of xs after the first n elements.

    >>> drop (SNat :: SNat 3) (1:>2:>3:>4:>5:>Nil)
    4 :> 5 :> Nil
    >>> drop d3               (1:>2:>3:>4:>5:>Nil)
    4 :> 5 :> Nil
    >>> drop d0               (1:>2:>Nil)
    1 :> 2 :> Nil

    >>> drop d4               (1:>2:>Nil)
    <interactive>:...: error:...
        • Couldn't match...type ‘4 + n0...
          The type variable ‘n0’ is ambiguous
        • In the first argument of ‘print’, namely ‘it’
          In a stmt of an interactive GHCi command: print it

# 1682 "srcClashSized/Vector.hs"

splitAt :: forall (m :: Nat) (n :: Natural) a. SNat m -> Vec (m + n) a -> (Vec m a, Vec n a) Source #

Split a vector into two vectors at the given point.

    >>> splitAt (SNat :: SNat 3) (1:>2:>3:>7:>8:>Nil)
    (1 :> 2 :> 3 :> Nil,7 :> 8 :> Nil)
    >>> splitAt d3 (1:>2:>3:>7:>8:>Nil)
    (1 :> 2 :> 3 :> Nil,7 :> 8 :> Nil)

reverse :: forall (n :: Nat) a. Vec n a -> Vec n a Source #

The elements in a vector in reverse order.

    >>> reverse (1:>2:>3:>4:>Nil)
    4 :> 3 :> 2 :> 1 :> Nil

concatMap :: forall a (m :: Nat) b (n :: Nat). (a -> Vec m b) -> Vec n a -> Vec (n * m) b Source #

Map a function over all the elements of a vector and concatentate the resulting vectors.

    >>> concatMap (replicate d3) (1:>2:>3:>Nil)
    1 :> 1 :> 1 :> 2 :> 2 :> 2 :> 3 :> 3 :> 3 :> Nil

(!!) :: forall (n :: Nat) i a. (KnownNat n, Enum i) => Vec n a -> i -> a Source #

"`xs` `!!` `n`" returns the n'th element of xs.

NB: Vector elements have an ASCENDING subscript starting from 0 and ending at ``length` - 1`.

    >>> (1:>2:>3:>4:>5:>Nil) !! 4
    5
    >>> (1:>2:>3:>4:>5:>Nil) !! (length (1:>2:>3:>4:>5:>Nil) - 1)
    5
    >>> (1:>2:>3:>4:>5:>Nil) !! 1
    2
    >>> (1:>2:>3:>4:>5:>Nil) !! 14
    *** Exception: Clash.Sized.Vector.(!!): index 14 is larger than maximum index 4
    ...

zip3 :: forall (n :: Nat) a b c. Vec n a -> Vec n b -> Vec n c -> Vec n (a, b, c) Source #

`zip3` takes three vectors and returns a vector of corresponding triplets.

    >>> zip3 (1:>2:>3:>4:>Nil) (4:>3:>2:>1:>Nil) (5:>6:>7:>8:>Nil)
    (1,4,5) :> (2,3,6) :> (3,2,7) :> (4,1,8) :> Nil

zipWith :: forall a b c (n :: Nat). (a -> b -> c) -> Vec n a -> Vec n b -> Vec n c Source #

`zipWith` generalizes `zip` by zipping with the function given as the first argument, instead of a tupling function. For example, "`zipWith` `(+)`" applied to two vectors produces the vector of corresponding sums.

    zipWith f (x1 :> x2 :> ... xn :> Nil) (y1 :> y2 :> ... :> yn :> Nil) == (f x1 y1 :> f x2 y2 :> ... :> f xn yn :> Nil)

"`zipWith` `f xs ys`" corresponds to the following circuit layout:

NB: `zipWith` is strict in its second argument, and lazy in its third. This matters when `zipWith` is used in a recursive setting. See `lazyV` for more information.

zipWith3 :: forall a b c d (n :: Nat). (a -> b -> c -> d) -> Vec n a -> Vec n b -> Vec n c -> Vec n d Source #

`zipWith3` generalizes `zip3` by zipping with the function given as the first argument, instead of a tupling function.

    zipWith3 f (x1 :> x2 :> ... xn :> Nil) (y1 :> y2 :> ... :> yn :> Nil) (z1 :> z2 :> ... :> zn :> Nil) == (f x1 y1 z1 :> f x2 y2 z2 :> ... :> f xn yn zn :> Nil)

"`zipWith3` `f xs ys zs`" corresponds to the following circuit layout:

NB: `zipWith3` is strict in its second argument, and lazy in its third and fourth. This matters when `zipWith3` is used in a recursive setting. See `lazyV` for more information.

unzip :: forall (n :: Nat) a b. Vec n (a, b) -> (Vec n a, Vec n b) Source #

`unzip` transforms a vector of pairs into a vector of first components and a vector of second components.

    >>> unzip ((1,4):>(2,3):>(3,2):>(4,1):>Nil)
    (1 :> 2 :> 3 :> 4 :> Nil,4 :> 3 :> 2 :> 1 :> Nil)

unzip3 :: forall (n :: Nat) a b c. Vec n (a, b, c) -> (Vec n a, Vec n b, Vec n c) Source #

`unzip3` transforms a vector of triplets into a vector of first components, a vector of second components, and a vector of third components.

    >>> unzip3 ((1,4,5):>(2,3,6):>(3,2,7):>(4,1,8):>Nil)
    (1 :> 2 :> 3 :> 4 :> Nil,4 :> 3 :> 2 :> 1 :> Nil,5 :> 6 :> 7 :> 8 :> Nil)

gather Source #

Arguments

:: forall i (n :: Nat) a (m :: Nat). (Enum i, KnownNat n) |
=> Vec n a | Source vector, xs
-> Vec m i | Index mapping, is
-> Vec m a |

Backwards permutation specified by an index mapping, is, from the destination vector specifying which element of the source vector xs to read.

"`gather` `xs is`" is equivalent to "`map` `(xs `!!`) is`".

For example:

    >>> let input = 1:>9:>6:>4:>4:>2:>0:>1:>2:>Nil
    >>> let from  = 1:>3:>7:>2:>5:>3:>Nil
    >>> gather input from
    9 :> 4 :> 1 :> 6 :> 2 :> 4 :> Nil

fold :: forall (n :: Natural) a. (a -> a -> a) -> Vec (n + 1) a -> a Source #

`fold` is a variant of `foldr1` and `foldl1`, but instead of reducing from right to left, or left to right, it reduces a vector using a tree-like structure. The depth, or delay, of the structure produced by "``fold` f xs`", is hence `O(log_2(`length` xs))`, and not `O(`length` xs)`.

NB: The binary operator "`f`" in "``fold` f xs`" must be associative.

    fold f (x1 :> x2 :> ... :> xn1 :> xn :> Nil) == ((x1 `f` x2) `f` ...) `f` (... `f` (xn1 `f` xn))
    fold f (x1 :> Nil)                           == x1
    fold f Nil                                   == TYPE ERROR

    >>> fold (+) (5 :> 4 :> 3 :> 2 :> 1 :> Nil)
    15

"`fold` `f xs`" corresponds to the following circuit layout:

elemIndex :: forall (n :: Nat) a. (KnownNat n, Eq a) => a -> Vec n a -> Maybe (Index n) Source #

"`elemIndex` `a xs`" returns the index of the first element which is equal (by `==`) to the query element a, or `Nothing` if there is no such element.

    >>> elemIndex 3 (1:>3:>2:>4:>3:>5:>6:>Nil)
    Just 1
    >>> elemIndex 8 (1:>3:>2:>4:>3:>5:>6:>Nil)
    Nothing

findIndex :: forall (n :: Nat) a. KnownNat n => (a -> Bool) -> Vec n a -> Maybe (Index n) Source #

"`findIndex` `p xs`" returns the index of the first element of xs satisfying the predicate p, or `Nothing` if there is no such element.

    >>> findIndex (> 3) (1:>3:>2:>4:>3:>5:>6:>Nil)
    Just 3
    >>> findIndex (> 8) (1:>3:>2:>4:>3:>5:>6:>Nil)
    Nothing

zip4 :: forall (n :: Nat) a b c d. Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n (a, b, c, d) Source #

`zip4` takes four vectors and returns a list of quadruples, analogous to `zip`.

zip5 :: forall (n :: Nat) a b c d e. Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n (a, b, c, d, e) Source #

`zip5` takes five vectors and returns a list of five-tuples, analogous to `zip`.

zip6 :: forall (n :: Nat) a b c d e f. Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n (a, b, c, d, e, f) Source #

`zip6` takes six vectors and returns a list of six-tuples, analogous to `zip`.

zip7 :: forall (n :: Nat) a b c d e f g. Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n g -> Vec n (a, b, c, d, e, f, g) Source #

`zip7` takes seven vectors and returns a list of seven-tuples, analogous to `zip`.

zipWith4 :: forall a b c d e (n :: Nat). (a -> b -> c -> d -> e) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e Source #

zipWith5 :: forall a b c d e f (n :: Nat). (a -> b -> c -> d -> e -> f) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f Source #

zipWith6 :: forall a b c d e f g (n :: Nat). (a -> b -> c -> d -> e -> f -> g) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n g Source #

zipWith7 :: forall a b c d e f g h (n :: Nat). (a -> b -> c -> d -> e -> f -> g -> h) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n g -> Vec n h Source #

unzip4 :: forall (n :: Nat) a b c d. Vec n (a, b, c, d) -> (Vec n a, Vec n b, Vec n c, Vec n d) Source #

`unzip4` takes a vector of quadruples and returns four vectors, analogous to `unzip`.

unzip5 :: forall (n :: Nat) a b c d e. Vec n (a, b, c, d, e) -> (Vec n a, Vec n b, Vec n c, Vec n d, Vec n e) Source #

`unzip5` takes a vector of five-tuples and returns five vectors, analogous to `unzip`.

unzip6 :: forall (n :: Nat) a b c d e f. Vec n (a, b, c, d, e, f) -> (Vec n a, Vec n b, Vec n c, Vec n d, Vec n e, Vec n f) Source #

`unzip6` takes a vector of six-tuples and returns six vectors, analogous to `unzip`.

unzip7 :: forall (n :: Nat) a b c d e f g. Vec n (a, b, c, d, e, f, g) -> (Vec n a, Vec n b, Vec n c, Vec n d, Vec n e, Vec n f, Vec n g) Source #

`unzip7` takes a vector of seven-tuples and returns seven vectors, analogous to `unzip`.

singleton :: a -> Vec 1 a Source #

Create a vector of one element

    >>> singleton 5
    5 :> Nil

mapAccumL :: forall acc x y (n :: Nat). (acc -> x -> (acc, y)) -> acc -> Vec n x -> (acc, Vec n y) Source #

The `mapAccumL` function behaves like a combination of `map` and `foldl`; it applies a function to each element of a vector, passing an accumulating parameter from left to right, and returning a final value of this accumulator together with the new vector.

    >>> mapAccumL (\acc x -> (acc + x,acc + 1)) 0 (1 :> 2 :> 3 :> 4 :> Nil)
    (10,1 :> 2 :> 4 :> 7 :> Nil)

"`mapAccumL` `f acc xs`" corresponds to the following circuit layout:

mapAccumR :: forall acc x y (n :: Nat). (acc -> x -> (acc, y)) -> acc -> Vec n x -> (acc, Vec n y) Source #

The `mapAccumR` function behaves like a combination of `map` and `foldr`; it applies a function to each element of a vector, passing an accumulating parameter from right to left, and returning a final value of this accumulator together with the new vector.

    >>> mapAccumR (\acc x -> (acc + x,acc + 1)) 0 (1 :> 2 :> 3 :> 4 :> Nil)
    (10,10 :> 8 :> 5 :> 1 :> Nil)

"`mapAccumR` `f acc xs`" corresponds to the following circuit layout:

merge :: forall (n :: Nat) a. KnownNat n => Vec n a -> Vec n a -> Vec (2 * n) a Source #

Merge two vectors, alternating their elements, i.e.,

    >>> merge (1 :> 2 :> 3 :> 4 :> Nil) (5 :> 6 :> 7 :> 8 :> Nil)
    1 :> 5 :> 2 :> 6 :> 3 :> 7 :> 4 :> 8 :> Nil

data Vec (a :: Nat) b where Source #

Fixed size vectors.

- Lists with their length encoded in their type
- `Vec`tor elements have an ASCENDING subscript starting from 0 and ending at ``length` - 1`.

Constructors

Nil :: forall b. Vec 0 b |
Cons :: forall b (n :: Natural). b -> Vec n b -> Vec (n + 1) b infixr 5 |

Bundled Patterns

pattern (:>) :: a -> Vec n a -> Vec (n + 1) a infixr 5

Add an element to the head of a vector.

    >>> 3:>4:>5:>Nil
    3 :> 4 :> 5 :> Nil
    >>> let x = 3:>4:>5:>Nil
    >>> :t x
    x :: Num a => Vec 3 a

Can be used as a pattern:

    >>> let f (x :> y :> _) = x + y
    >>> :t f
    f :: Num a => Vec ((n + 1) + 1) a -> a
    >>> f (3:>4:>5:>6:>7:>Nil)
    7

Also in conjunctions with (`:<`):

    >>> let g (a :> b :> (_ :< y :< x)) = a + b +  x + y
    >>> :t g
    g :: Num a => Vec ((((n + 1) + 1) + 1) + 1) a -> a
    >>> g (1:>2:>3:>4:>5:>Nil)
    12

pattern (:<) :: Vec n a -> a -> Vec (n + 1) a infixl 5

Add an element to the tail of a vector.

    >>> (3:>4:>5:>Nil) :< 1
    3 :> 4 :> 5 :> 1 :> Nil
    >>> let x = (3:>4:>5:>Nil) :< 1
    >>> :t x
    x :: Num a => Vec 4 a

Can be used as a pattern:

    >>> let f (_ :< y :< x) = y + x
    >>> :t f
    f :: Num a => Vec ((n + 1) + 1) a -> a
    >>> f (3:>4:>5:>6:>7:>Nil)
    13

Also in conjunctions with (`:>`):

    >>> let g (a :> b :> (_ :< y :< x)) = a + b +  x + y
    >>> :t g
    g :: Num a => Vec ((((n + 1) + 1) + 1) + 1) a -> a
    >>> g (1:>2:>3:>4:>5:>Nil)
    12

#### Instances

Instances details

Lift a => Lift (Vec n a :: Type) Source # |
Instance details Defined in Clash.Sized.Vector Methods lift :: Quote m => Vec n a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Vec n a -> Code m (Vec n a) Source #
(KnownNat n, 1 <= n) => Foldable1 (Vec n) Source # |

Instance details

Defined in Clash.Sized.Vector

Methods

fold1 :: Semigroup m => Vec n m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Vec n a -> m Source #

foldMap1' :: Semigroup m => (a -> m) -> Vec n a -> m Source #

toNonEmpty :: Vec n a -> NonEmpty a Source #

maximum :: Ord a => Vec n a -> a Source #

minimum :: Ord a => Vec n a -> a Source #

head :: Vec n a -> a Source #

last :: Vec n a -> a Source #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Vec n a -> b Source #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Vec n a -> b Source #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Vec n a -> b Source #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Vec n a -> b Source #

KnownNat n => Applicative (Vec n) Source # |
Instance details Defined in Clash.Sized.Vector Methods pure :: a -> Vec n a Source # (<*>) :: Vec n (a -> b) -> Vec n a -> Vec n b Source # liftA2 :: (a -> b -> c) -> Vec n a -> Vec n b -> Vec n c Source # (*>) :: Vec n a -> Vec n b -> Vec n b Source # (<*) :: Vec n a -> Vec n b -> Vec n a Source #
Functor (Vec n) Source # |
Instance details Defined in Clash.Sized.Vector Methods fmap :: (a -> b) -> Vec n a -> Vec n b Source # (<$) :: a -> Vec n b -> Vec n a Source #
KnownNat n => Foldable (Vec n) Source # |

Instance details

Defined in Clash.Sized.Vector

Methods

fold :: Monoid m => Vec n m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vec n a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vec n a -> m Source #

foldr :: (a -> b -> b) -> b -> Vec n a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vec n a -> b Source #

foldl :: (b -> a -> b) -> b -> Vec n a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vec n a -> b Source #

foldr1 :: (a -> a -> a) -> Vec n a -> a Source #

foldl1 :: (a -> a -> a) -> Vec n a -> a Source #

toList :: Vec n a -> [a] Source #

null :: Vec n a -> Bool Source #

length :: Vec n a -> Int Source #

elem :: Eq a => a -> Vec n a -> Bool Source #

maximum :: Ord a => Vec n a -> a Source #

minimum :: Ord a => Vec n a -> a Source #

sum :: Num a => Vec n a -> a Source #

product :: Num a => Vec n a -> a Source #

KnownNat n => Traversable (Vec n) Source # |
Instance details Defined in Clash.Sized.Vector Methods traverse :: Applicative f => (a -> f b) -> Vec n a -> f (Vec n b) Source # sequenceA :: Applicative f => Vec n (f a) -> f (Vec n a) Source # mapM :: Monad m => (a -> m b) -> Vec n a -> m (Vec n b) Source # sequence :: Monad m => Vec n (m a) -> m (Vec n a) Source #
(KnownNat n, Arbitrary a) => Arbitrary (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods arbitrary :: Gen (Vec n a) Source # shrink :: Vec n a -> [Vec n a] Source #
CoArbitrary a => CoArbitrary (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods coarbitrary :: Vec n a -> Gen b -> Gen b Source #
(KnownNat n, AutoReg a) => AutoReg (Vec n a) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Vec n a -> Signal dom (Vec n a) -> Signal dom (Vec n a) Source #
(KnownNat n, BitPack a) => BitPack (Vec n a) Source # |

Instance details

Defined in Clash.Sized.Vector

Associated Types

type BitSize (Vec n a) |
Instance details Defined in Clash.Sized.Vector type BitSize (Vec n a) = n * BitSize a

Methods

pack :: Vec n a -> BitVector (BitSize (Vec n a)) Source #

unpack :: BitVector (BitSize (Vec n a)) -> Vec n a Source #

KnownNat n => Bundle (Vec n a) Source # |
Instance details Defined in Clash.Signal.Bundle Methods bundle :: forall (dom :: Domain). Unbundled dom (Vec n a) -> Signal dom (Vec n a) Source # unbundle :: forall (dom :: Domain). Signal dom (Vec n a) -> Unbundled dom (Vec n a) Source #
KnownNat n => Bundle (Vec n a) Source # |
Instance details Defined in Clash.Signal.Delayed.Bundle Methods bundle :: forall (dom :: Domain) (d :: Nat). Unbundled dom d (Vec n a) -> DSignal dom d (Vec n a) Source # unbundle :: forall (dom :: Domain) (d :: Nat). DSignal dom d (Vec n a) -> Unbundled dom d (Vec n a) Source #
VecToTuple (Vec 0 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 0 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 0 a) = Tagged a ()

Methods

vecToTuple :: Vec 0 a -> TupType (Vec 0 a) Source #

VecToTuple (Vec 1 a) Source # | Instead of using `vecToTuple` for `Vec 1 _`, you could also consider using `head`

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 1 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 1 a) = Solo a

Methods

vecToTuple :: Vec 1 a -> TupType (Vec 1 a) Source #

VecToTuple (Vec 2 a) Source # | NB: The documentation only shows instances up to 3-tuples. By default, instances up to and including 12-tuples will exist. If the flag `large-tuples` is set instances up to the GHC imposed limit will exist. The GHC imposed limit is either 62 or 64 depending on the GHC version.

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 2 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 2 a) = (a, a)

Methods

vecToTuple :: Vec 2 a -> TupType (Vec 2 a) Source #

VecToTuple (Vec 3 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 3 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 3 a) = (a, a, a)

Methods

vecToTuple :: Vec 3 a -> TupType (Vec 3 a) Source #

VecToTuple (Vec 4 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 4 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 4 a) = (a, a, a, a)

Methods

vecToTuple :: Vec 4 a -> TupType (Vec 4 a) Source #

VecToTuple (Vec 5 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 5 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 5 a) = (a, a, a, a, a)

Methods

vecToTuple :: Vec 5 a -> TupType (Vec 5 a) Source #

VecToTuple (Vec 6 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 6 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 6 a) = (a, a, a, a, a, a)

Methods

vecToTuple :: Vec 6 a -> TupType (Vec 6 a) Source #

VecToTuple (Vec 7 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 7 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 7 a) = (a, a, a, a, a, a, a)

Methods

vecToTuple :: Vec 7 a -> TupType (Vec 7 a) Source #

VecToTuple (Vec 8 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 8 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 8 a) = (a, a, a, a, a, a, a, a)

Methods

vecToTuple :: Vec 8 a -> TupType (Vec 8 a) Source #

VecToTuple (Vec 9 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 9 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 9 a) = (a, a, a, a, a, a, a, a, a)

Methods

vecToTuple :: Vec 9 a -> TupType (Vec 9 a) Source #

VecToTuple (Vec 10 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 10 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 10 a) = (a, a, a, a, a, a, a, a, a, a)

Methods

vecToTuple :: Vec 10 a -> TupType (Vec 10 a) Source #

VecToTuple (Vec 11 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 11 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 11 a) = (a, a, a, a, a, a, a, a, a, a, a)

Methods

vecToTuple :: Vec 11 a -> TupType (Vec 11 a) Source #

VecToTuple (Vec 12 a) Source # |

Instance details

Defined in Clash.Sized.Vector.ToTuple

Associated Types

type TupType (Vec 12 a) |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 12 a) = (a, a, a, a, a, a, a, a, a, a, a, a)

Methods

vecToTuple :: Vec 12 a -> TupType (Vec 12 a) Source #

(NFDataX a, KnownNat n) => NFDataX (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods deepErrorX :: String -> Vec n a Source # hasUndefined :: Vec n a -> Bool Source # ensureSpine :: Vec n a -> Vec n a Source # rnfX :: Vec n a -> () Source #
ShowX a => ShowX (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods showsPrecX :: Int -> Vec n a -> ShowS Source # showX :: Vec n a -> String Source # showListX :: [Vec n a] -> ShowS Source #
(Default a, KnownNat n) => Default (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods def :: Vec n a #
NFData a => NFData (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods rnf :: Vec n a -> () Source #
(KnownNat n, Monoid a) => Monoid (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods mempty :: Vec n a Source # mappend :: Vec n a -> Vec n a -> Vec n a Source # mconcat :: [Vec n a] -> Vec n a Source #
(KnownNat n, Semigroup a) => Semigroup (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods (<>) :: Vec n a -> Vec n a -> Vec n a Source # sconcat :: NonEmpty (Vec n a) -> Vec n a Source # stimes :: Integral b => b -> Vec n a -> Vec n a Source #
(KnownNat n, Typeable a, Data a) => Data (Vec n a) Source # |

Instance details

Defined in Clash.Sized.Vector

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Vec n a -> c (Vec n a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Vec n a) Source #

toConstr :: Vec n a -> Constr Source #

dataTypeOf :: Vec n a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Vec n a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Vec n a)) Source #

gmapT :: (forall b. Data b => b -> b) -> Vec n a -> Vec n a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Vec n a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Vec n a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Vec n a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Vec n a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Vec n a -> m (Vec n a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Vec n a -> m (Vec n a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Vec n a -> m (Vec n a) Source #

KnownNat n => Generic (Vec n a) Source # | In many cases, this Generic instance only allows generic functions/instances over vectors of at least size 1, due to the n-1 in the Rep (Vec n a) definition. We'll have to wait for things like https://ryanglscott.github.io/2018/02/11/how-to-derive-generic-for-some-gadts/ before we can work around this limitation

Instance details

Defined in Clash.Sized.Vector

Associated Types

type Rep (Vec n a) |

Instance details

Defined in Clash.Sized.Vector

type Rep (Vec n a) = D1 ('MetaData "Vec" "Clash.Data.Vector" "clash-prelude" 'False) (C1 ('MetaCons "Nil" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cons" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vec (n - 1) a))))

Methods

from :: Vec n a -> Rep (Vec n a) x Source #

to :: Rep (Vec n a) x -> Vec n a Source #

Show a => Show (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods showsPrec :: Int -> Vec n a -> ShowS Source # show :: Vec n a -> String Source # showList :: [Vec n a] -> ShowS Source #
(KnownNat n, Eq a) => Eq (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods (==) :: Vec n a -> Vec n a -> Bool Source # (/=) :: Vec n a -> Vec n a -> Bool Source #
(KnownNat n, Ord a) => Ord (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods compare :: Vec n a -> Vec n a -> Ordering Source # (<) :: Vec n a -> Vec n a -> Bool Source # (<=) :: Vec n a -> Vec n a -> Bool Source # (>) :: Vec n a -> Vec n a -> Bool Source # (>=) :: Vec n a -> Vec n a -> Bool Source # max :: Vec n a -> Vec n a -> Vec n a Source # min :: Vec n a -> Vec n a -> Vec n a Source #
KnownNat n => Ixed (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector Methods ix :: Index (Vec n a) -> Traversal' (Vec n a) (IxValue (Vec n a)) Source #
(LockStep en a, KnownNat n) => LockStep (Vec n en) (Vec n a) Source # |
Instance details Defined in Clash.Prelude.DataFlow Methods lockStep :: forall (dom :: Domain). DataFlow dom (Vec n en) Bool (Vec n a) (Vec n a) Source # stepLock :: forall (dom :: Domain). DataFlow dom Bool (Vec n en) (Vec n a) (Vec n a) Source #
type Unbundled t d (Vec n a) Source # |
Instance details Defined in Clash.Signal.Delayed.Bundle type Unbundled t d (Vec n a) = Vec n (DSignal t d a)
type TryDomain t (Vec n a) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSingleDomain type TryDomain t (Vec n a) = TryDomain t a
type HasDomain dom (Vec n a) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSpecificDomain type HasDomain dom (Vec n a) = HasDomain dom a
type Unbundled t (Vec n a) Source # |
Instance details Defined in Clash.Signal.Bundle type Unbundled t (Vec n a) = Vec n (Signal t a)
type BitSize (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector type BitSize (Vec n a) = n * BitSize a
type TupType (Vec 0 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 0 a) = Tagged a ()
type TupType (Vec 1 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 1 a) = Solo a
type TupType (Vec 2 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 2 a) = (a, a)
type TupType (Vec 3 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 3 a) = (a, a, a)
type TupType (Vec 4 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 4 a) = (a, a, a, a)
type TupType (Vec 5 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 5 a) = (a, a, a, a, a)
type TupType (Vec 6 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 6 a) = (a, a, a, a, a, a)
type TupType (Vec 7 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 7 a) = (a, a, a, a, a, a, a)
type TupType (Vec 8 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 8 a) = (a, a, a, a, a, a, a, a)
type TupType (Vec 9 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 9 a) = (a, a, a, a, a, a, a, a, a)
type TupType (Vec 10 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 10 a) = (a, a, a, a, a, a, a, a, a, a)
type TupType (Vec 11 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 11 a) = (a, a, a, a, a, a, a, a, a, a, a)
type TupType (Vec 12 a) Source # |
Instance details Defined in Clash.Sized.Vector.ToTuple type TupType (Vec 12 a) = (a, a, a, a, a, a, a, a, a, a, a, a)
type Rep (Vec n a) Source # |

Instance details

Defined in Clash.Sized.Vector

type Rep (Vec n a) = D1 ('MetaData "Vec" "Clash.Data.Vector" "clash-prelude" 'False) (C1 ('MetaCons "Nil" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cons" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vec (n - 1) a))))

type Index (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector type Index (Vec n a) = Index n
type IxValue (Vec n a) Source # |
Instance details Defined in Clash.Sized.Vector type IxValue (Vec n a) = a

replace :: forall (n :: Nat) i a. (KnownNat n, Enum i) => i -> a -> Vec n a -> Vec n a Source #

"`replace` `n a xs`" returns the vector xs where the n'th element is replaced by a.

NB: Vector elements have an ASCENDING subscript starting from 0 and ending at ``length` - 1`.

    >>> replace 3 7 (1:>2:>3:>4:>5:>Nil)
    1 :> 2 :> 3 :> 7 :> 5 :> Nil
    >>> replace 0 7 (1:>2:>3:>4:>5:>Nil)
    7 :> 2 :> 3 :> 4 :> 5 :> Nil
    >>> replace 9 7 (1:>2:>3:>4:>5:>Nil)
    1 :> 2 :> 3 :> 4 :> 5 :> *** Exception: Clash.Sized.Vector.replace: index 9 is larger than maximum index 4
    ...

interleave Source #

Arguments

:: forall (n :: Nat) (d :: Nat) a. (KnownNat n, KnownNat d) |
=> SNat d | Interleave step, d
-> Vec (n * d) a |
-> Vec (d * n) a |

"`interleave` `d xs`" creates a vector:

    <x_0,x_d,x_(2d),...,x_1,x_(d+1),x_(2d+1),...,x_(d-1),x_(2d-1),x_(3d-1)>

    >>> let xs = 1 :> 2 :> 3 :> 4 :> 5 :> 6 :> 7 :> 8 :> 9 :> Nil
    >>> interleave d3 xs
    1 :> 4 :> 7 :> 2 :> 5 :> 8 :> 3 :> 6 :> 9 :> Nil

at :: forall (m :: Nat) (n :: Natural) a. SNat m -> Vec (m + (n + 1)) a -> a Source #

"`at` `n xs`" returns n'th element of xs

NB: Vector elements have an ASCENDING subscript starting from 0 and ending at ``length` - 1`.

    >>> at (SNat :: SNat 1) (1:>2:>3:>4:>5:>Nil)
    2
    >>> at d1               (1:>2:>3:>4:>5:>Nil)
    2

imap :: forall (n :: Nat) a b. KnownNat n => (Index n -> a -> b) -> Vec n a -> Vec n b Source #

Apply a function of every element of a vector and its index.

    >>> :t imap (+) (2 :> 2 :> 2 :> 2 :> Nil)
    imap (+) (2 :> 2 :> 2 :> 2 :> Nil) :: Vec 4 (Index 4)
    >>> imap (+) (2 :> 2 :> 2 :> 2 :> Nil)
    2 :> 3 :> *** Exception: X: Clash.Sized.Index: result 4 is out of bounds: [0..3]
    ...
    >>> imap (\i a -> extend (bitCoerce i) + a) (2 :> 2 :> 2 :> 2 :> Nil) :: Vec 4 (Unsigned 8)
    2 :> 3 :> 4 :> 5 :> Nil

"`imap` `f xs`" corresponds to the following circuit layout:

ifoldr :: forall (n :: Nat) a b. KnownNat n => (Index n -> a -> b -> b) -> b -> Vec n a -> b Source #

Right fold (function applied to each element and its index)

    >>> let findLeftmost x xs = ifoldr (\i a b -> if a == x then Just i else b) Nothing xs
    >>> findLeftmost 3 (1:>3:>2:>4:>3:>5:>6:>Nil)
    Just 1
    >>> findLeftmost 8 (1:>3:>2:>4:>3:>5:>6:>Nil)
    Nothing

"`ifoldr` `f z xs`" corresponds to the following circuit layout:

ifoldl :: forall (n :: Nat) a b. KnownNat n => (a -> Index n -> b -> a) -> a -> Vec n b -> a Source #

Left fold (function applied to each element and its index)

    >>> let findRightmost x xs = ifoldl (\a i b -> if b == x then Just i else a) Nothing xs
    >>> findRightmost 3 (1:>3:>2:>4:>3:>5:>6:>Nil)
    Just 4
    >>> findRightmost 8 (1:>3:>2:>4:>3:>5:>6:>Nil)
    Nothing

"`ifoldl` `f z xs`" corresponds to the following circuit layout:

select :: forall (i :: Natural) (s :: Natural) (n :: Natural) (f :: Nat) a. CmpNat (i + s) (s * n) ~ 'GT => SNat f -> SNat s -> SNat n -> Vec (f + i) a -> Vec n a Source #

"`select` `f s n xs`" selects n elements with step-size s and offset `f` from xs.

    >>> select (SNat :: SNat 1) (SNat :: SNat 2) (SNat :: SNat 3) (1:>2:>3:>4:>5:>6:>7:>8:>Nil)
    2 :> 4 :> 6 :> Nil
    >>> select d1 d2 d3 (1:>2:>3:>4:>5:>6:>7:>8:>Nil)
    2 :> 4 :> 6 :> Nil

lazyV :: forall (n :: Nat) a. KnownNat n => Vec n a -> Vec n a Source #

What you should use when your vector functions are too strict in their arguments.

### doctests setup

Expand

    >>> let compareSwapL a b = if a < b then (a,b) else (b,a)
    >>> :{
    let sortVL :: (Ord a, KnownNat (n + 1)) => Vec ((n + 1) + 1) a -> Vec ((n + 1) + 1) a
        sortVL xs = map fst sorted :< (snd (last sorted))
          where
            lefts  = head xs :> map snd (init sorted)
            rights = tail xs
            sorted = zipWith compareSwapL (lazyV lefts) rights
    :}

    >>> :{
    let sortV_flip xs = map fst sorted :< (snd (last sorted))
          where
            lefts  = head xs :> map snd (init sorted)
            rights = tail xs
            sorted = zipWith (flip compareSwapL) rights lefts
    :}

### Example usage

For example:

    -- Bubble sort for 1 iteration
    sortV xs = map fst sorted :< (snd (last sorted))
     where
       lefts  = head xs :> map snd (init sorted)
       rights = tail xs
       sorted = zipWith compareSwapL lefts rights

    -- Compare and swap
    compareSwapL a b = if a < b then (a,b)
                                else (b,a)

Will not terminate because `zipWith` is too strict in its second argument.

In this case, adding `lazyV` on `zipWith`s second argument:

    sortVL xs = map fst sorted :< (snd (last sorted))
     where
       lefts  = head xs :> map snd (init sorted)
       rights = tail xs
       sorted = zipWith compareSwapL (lazyV lefts) rights

Results in a successful computation:

    >>> sortVL (4 :> 1 :> 2 :> 3 :> Nil)
    1 :> 2 :> 3 :> 4 :> Nil

NB: There is also a solution using `flip`, but it slightly obfuscates the meaning of the code:

    sortV_flip xs = map fst sorted :< (snd (last sorted))
     where
       lefts  = head xs :> map snd (init sorted)
       rights = tail xs
       sorted = zipWith (flip compareSwapL) rights lefts

    >>> sortV_flip (4 :> 1 :> 2 :> 3 :> Nil)
    1 :> 2 :> 3 :> 4 :> Nil

smap :: forall (k :: Nat) a b. KnownNat k => (forall (l :: Nat). SNat l -> a -> b) -> Vec k a -> Vec k b Source #

Apply a function to every element of a vector and the element's position (as an `SNat` value) in the vector.

    >>> let rotateMatrix = smap (flip rotateRightS)
    >>> let xss = (1:>2:>3:>Nil):>(1:>2:>3:>Nil):>(1:>2:>3:>Nil):>Nil
    >>> xss
    (1 :> 2 :> 3 :> Nil) :> (1 :> 2 :> 3 :> Nil) :> (1 :> 2 :> 3 :> Nil) :> Nil
    >>> rotateMatrix xss
    (1 :> 2 :> 3 :> Nil) :> (3 :> 1 :> 2 :> Nil) :> (2 :> 3 :> 1 :> Nil) :> Nil

iterateI :: forall (n :: Nat) a. KnownNat n => (a -> a) -> a -> Vec n a Source #

"`iterateI` `f x`" returns a vector starting with `x` followed by `n` repeated applications of `f` to `x`, where `n` is determined by the context.

    iterateI f x :: Vec 3 a == (x :> f x :> f (f x) :> Nil)

    >>> iterateI (+1) 1 :: Vec 3 Int
    1 :> 2 :> 3 :> Nil

"`iterateI` `f z`" corresponds to the following circuit layout:

traverse# :: forall a f b (n :: Nat). Applicative f => (a -> f b) -> Vec n a -> f (Vec n b) Source #

dtfold Source #

Arguments

:: forall (p :: TyFun Nat Type -> Type) (k :: Nat) a. KnownNat k |
=> Proxy p | The motive
-> (a -> p @@ 0) | Function to apply to every element
-> (forall (l :: Nat). SNat l -> (p @@ l) -> (p @@ l) -> p @@ (l + 1)) | Function to combine results. NB: The `SNat l` indicates the depth/height of the node in the tree that is created by applying this function. The leafs of the tree have depth/height 0, and the root of the tree has height k.
-> Vec (2 ^ k) a | Vector to fold over. NB: Must have a length that is a power of 2.
-> p @@ k |

A combination of `dfold` and `fold`: a dependently typed fold that reduces a vector in a tree-like structure.

### doctests setup

Expand

    >>> :seti -XUndecidableInstances
    >>> import Data.Singletons (Apply, Proxy (..), TyFun)
    >>> data IIndex (f :: TyFun Nat Type) :: Type
    >>> type instance Apply IIndex l = Index ((2^l)+1)
    >>> :{
    let populationCount' :: (KnownNat k, KnownNat (2^k)) => BitVector (2^k) -> Index ((2^k)+1)
        populationCount' bv = dtfold (Proxy @IIndex)
                                     fromIntegral
                                     (\_ x y -> add x y)
                                     (bv2v bv)
    :}

### Example usage

As an example of when you might want to use `dtfold` we will build a population counter: a circuit that counts the number of bits set to '1' in a `BitVector`. Given a vector of n bits, we only need we need a data type that can represent the number n: `Index` `(n+1)`. `Index` `k` has a range of `[0 .. k-1]` (using `ceil(log2(k))` bits), hence we need `Index` `n+1`. As an initial attempt we will use `sum`, because it gives a nice (`log2(n)`) tree-structure of adders:

    populationCount :: (KnownNat (n+1), KnownNat (n+2))
                    => BitVector (n+1) -> Index (n+2)
    populationCount = sum . map fromIntegral . bv2v

The "problem" with this description is that all adders have the same bit-width, i.e. all adders are of the type:

    (+) :: Index (n+2) -> Index (n+2) -> Index (n+2).

This is a "problem" because we could have a more efficient structure: one where each layer of adders is precisely wide enough to count the number of bits at that layer. That is, at height d we want the adder to be of type:

    Index ((2^d)+1) -> Index ((2^d)+1) -> Index ((2^(d+1))+1)

We have such an adder in the form of the `add` function, as defined in the instance `ExtendingNum` instance of `Index`. However, we cannot simply use `fold` to create a tree-structure of `add`es:

    >>> :{
    let populationCount' :: (KnownNat (n+1), KnownNat (n+2))
                         => BitVector (n+1) -> Index (n+2)
        populationCount' = fold add . map fromIntegral . bv2v
    :}
    <interactive>:...
        • Couldn't match type: ((n + 2) + (n + 2)) - 1
                         with: n + 2
          Expected: Index (n + 2) -> Index (n + 2) -> Index (n + 2)
            Actual: Index (n + 2)
                    -> Index (n + 2) -> AResult (Index (n + 2)) (Index (n + 2))
        • In the first argument of ‘fold’, namely ‘add’
          In the first argument of ‘(.)’, namely ‘fold add’
          In the expression: fold add . map fromIntegral . bv2v
        • Relevant bindings include
            populationCount' :: BitVector (n + 1) -> Index (n + 2)
              (bound at ...)

# 2539 "srcClashSized/Vector.hs"

because `fold` expects a function of type "`a -> a -> a`", i.e. a function where the arguments and result all have exactly the same type.

In order to accommodate the type of our `add`, where the result is larger than the arguments, we must use a dependently typed fold in the form of `dtfold`:

    {-# LANGUAGE UndecidableInstances #-}
    import Data.Singletons
    import Data.Proxy

    data IIndex (f :: TyFun Nat Type) :: Type
    type instance Apply IIndex l = Index ((2^l)+1)

    populationCount' :: (KnownNat k, KnownNat (2^k))
                     => BitVector (2^k) -> Index ((2^k)+1)
    populationCount' bv = dtfold (Proxy @IIndex)
                                 fromIntegral
                                 (\_ x y -> add x y)
                                 (bv2v bv)

And we can test that it works:

    >>> :t populationCount' (7 :: BitVector 16)
    populationCount' (7 :: BitVector 16) :: Index 17
    >>> populationCount' (7 :: BitVector 16)
    3

Some final remarks:

- By using `dtfold` instead of `fold`, we had to restrict our `BitVector` argument to have bit-width that is a power of 2.
- Even though our original populationCount function specified a structure where all adders had the same width. Most VHDL/(System)Verilog synthesis tools will create a more efficient circuit, i.e. one where the adders have an increasing bit-width for every layer, from the VHDL/(System)Verilog produced by the Clash compiler.

NB: The depth, or delay, of the structure produced by "``dtfold` m f g xs`" is O(log_2(``length` xs`)).

lengthS :: forall (n :: Nat) a. KnownNat n => Vec n a -> SNat n Source #

Length of a `Vec`tor as an `SNat` value

indicesI :: forall (n :: Nat). KnownNat n => Vec n (Index n) Source #

Generate a vector of indices, where the length of the vector is determined by the context.

    >>> indicesI :: Vec 4 (Index 4)
    0 :> 1 :> 2 :> 3 :> Nil

takeI :: forall (m :: Nat) (n :: Natural) a. KnownNat m => Vec (m + n) a -> Vec m a Source #

"`takeI` `xs`" returns the prefix of xs as demanded by the context.

    >>> takeI (1:>2:>3:>4:>5:>Nil) :: Vec 2 Int
    1 :> 2 :> Nil

dropI :: forall (m :: Nat) (n :: Natural) a. KnownNat m => Vec (m + n) a -> Vec n a Source #

"`dropI` `xs`" returns the suffix of xs as demanded by the context.

    >>> dropI (1:>2:>3:>4:>5:>Nil) :: Vec 2 Int
    4 :> 5 :> Nil

selectI :: forall (i :: Natural) (s :: Natural) (n :: Natural) (f :: Nat) a. (CmpNat (i + s) (s * n) ~ 'GT, KnownNat n) => SNat f -> SNat s -> Vec (f + i) a -> Vec n a Source #

"`selectI` `f s xs`" selects as many elements as demanded by the context with step-size s and offset f from xs.

    >>> selectI d1 d2 (1:>2:>3:>4:>5:>6:>7:>8:>Nil) :: Vec 2 Int
    2 :> 4 :> Nil

splitAtI :: forall (m :: Nat) (n :: Natural) a. KnownNat m => Vec (m + n) a -> (Vec m a, Vec n a) Source #

Split a vector into two vectors where the length of the two is determined by the context.

    >>> splitAtI (1:>2:>3:>7:>8:>Nil) :: (Vec 2 Int, Vec 3 Int)
    (1 :> 2 :> Nil,3 :> 7 :> 8 :> Nil)

unconcat :: forall (n :: Nat) (m :: Nat) a. KnownNat n => SNat m -> Vec (n * m) a -> Vec n (Vec m a) Source #

Split a vector of (n * m) elements into a vector of "vectors of length m", where the length m is given.

    >>> unconcat d4 (1:>2:>3:>4:>5:>6:>7:>8:>9:>10:>11:>12:>Nil)
    (1 :> 2 :> 3 :> 4 :> Nil) :> (5 :> 6 :> 7 :> 8 :> Nil) :> (9 :> 10 :> 11 :> 12 :> Nil) :> Nil

unconcatI :: forall (n :: Nat) (m :: Nat) a. (KnownNat n, KnownNat m) => Vec (n * m) a -> Vec n (Vec m a) Source #

Split a vector of (n * m) elements into a vector of "vectors of length m", where the length m is determined by the context.

    >>> unconcatI (1:>2:>3:>4:>5:>6:>7:>8:>9:>10:>11:>12:>Nil) :: Vec 2 (Vec 6 Int)
    (1 :> 2 :> 3 :> 4 :> 5 :> 6 :> Nil) :> (7 :> 8 :> 9 :> 10 :> 11 :> 12 :> Nil) :> Nil

generateI :: forall (n :: Nat) a. KnownNat n => (a -> a) -> a -> Vec n a Source #

"`generateI` `f x`" returns a vector with `n` repeated applications of `f` to `x`, where `n` is determined by the context.

    generateI f x :: Vec 3 a == (f x :> f (f x) :> f (f (f x)) :> Nil)

    >>> generateI (+1) 1 :: Vec 3 Int
    2 :> 3 :> 4 :> Nil

"`generateI` `f z`" corresponds to the following circuit layout:

unfoldrI :: forall (n :: Nat) s a. KnownNat n => (s -> (a, s)) -> s -> Vec n a Source #

"`unfoldrI` `f s`" builds a vector from a seed value `s`, where every element `a` is created by successive calls of `f` on `s`; the length of the vector is inferred from the context. Unlike `unfoldr` from Data.List the generating function `f` cannot dictate the length of the resulting vector, it must be statically known.

a simple use of `unfoldrI`:

    >>> unfoldrI (\s -> (s,s-1)) 10 :: Vec 10 Int
    10 :> 9 :> 8 :> 7 :> 6 :> 5 :> 4 :> 3 :> 2 :> 1 :> Nil

listToVecTH :: Lift a => [a] -> ExpQ Source #

Create a vector literal from a list literal.

    $(listToVecTH [1::Signed 8,2,3,4,5]) == (8:>2:>3:>4:>5:>Nil) :: Vec 5 (Signed 8)

    >>> [1 :: Signed 8,2,3,4,5]
    [1,2,3,4,5]
    >>> $(listToVecTH [1::Signed 8,2,3,4,5])
    1 :> 2 :> 3 :> 4 :> 5 :> Nil

(+>>) :: forall (n :: Nat) a. KnownNat n => a -> Vec n a -> Vec n a infixr 4 Source #

Add an element to the head of a vector, and extract all but the last element.

    >>> 1 +>> (3:>4:>5:>Nil)
    1 :> 3 :> 4 :> Nil
    >>> 1 +>> Nil
    Nil

(<<+) :: forall (n :: Nat) a. Vec n a -> a -> Vec n a infixl 4 Source #

Add an element to the tail of a vector, and extract all but the first element.

    >>> (3:>4:>5:>Nil) <<+ 1
    4 :> 5 :> 1 :> Nil
    >>> Nil <<+ 1
    Nil

shiftInAt0 Source #

Arguments

:: forall (n :: Nat) a (m :: Nat). KnownNat n |
=> Vec n a | The old vector
-> Vec m a | The elements to shift in at the head
-> (Vec n a, Vec m a) | (The new vector, shifted out elements)

Shift in elements to the head of a vector, bumping out elements at the tail. The result is a tuple containing:

- The new vector
- The shifted out elements

    >>> shiftInAt0 (1 :> 2 :> 3 :> 4 :> Nil) ((-1) :> 0 :> Nil)
    (-1 :> 0 :> 1 :> 2 :> Nil,3 :> 4 :> Nil)
    >>> shiftInAt0 (1 :> Nil) ((-1) :> 0 :> Nil)
    (-1 :> Nil,0 :> 1 :> Nil)

shiftInAtN Source #

Arguments

:: forall (m :: Nat) (n :: Nat) a. KnownNat m |
=> Vec n a | The old vector
-> Vec m a | The elements to shift in at the tail
-> (Vec n a, Vec m a) | (The new vector, shifted out elements)

Shift in element to the tail of a vector, bumping out elements at the head. The result is a tuple containing:

- The new vector
- The shifted out elements

    >>> shiftInAtN (1 :> 2 :> 3 :> 4 :> Nil) (5 :> 6 :> Nil)
    (3 :> 4 :> 5 :> 6 :> Nil,1 :> 2 :> Nil)
    >>> shiftInAtN (1 :> Nil) (2 :> 3 :> Nil)
    (3 :> Nil,1 :> 2 :> Nil)

shiftOutFrom0 Source #

Arguments

:: forall a (m :: Nat) (n :: Natural). (Default a, KnownNat m) |
=> SNat m | `m`, the number of elements to shift out
-> Vec (m + n) a | The old vector
-> (Vec (m + n) a, Vec m a) | (The new vector, shifted out elements)

Shift m elements out from the head of a vector, filling up the tail with `Default` values. The result is a tuple containing:

- The new vector
- The shifted out values

    >>> shiftOutFrom0 d2 ((1 :> 2 :> 3 :> 4 :> 5 :> Nil) :: Vec 5 Integer)
    (3 :> 4 :> 5 :> 0 :> 0 :> Nil,1 :> 2 :> Nil)

shiftOutFromN Source #

Arguments

:: forall a (n :: Nat) (m :: Nat). (Default a, KnownNat n) |
=> SNat m | `m`, the number of elements to shift out
-> Vec (m + n) a | The old vector
-> (Vec (m + n) a, Vec m a) | (The new vector, shifted out elements)

Shift m elements out from the tail of a vector, filling up the head with `Default` values. The result is a tuple containing:

- The new vector
- The shifted out values

    >>> shiftOutFromN d2 ((1 :> 2 :> 3 :> 4 :> 5 :> Nil) :: Vec 5 Integer)
    (0 :> 0 :> 1 :> 2 :> 3 :> Nil,4 :> 5 :> Nil)

permute Source #

Arguments

:: forall i (n :: Nat) (m :: Nat) a (k :: Natural). (Enum i, KnownNat n, KnownNat m) |
=> (a -> a -> a) | Combination function, f
-> Vec n a | Default values, def
-> Vec m i | Index mapping, is
-> Vec (m + k) a | Vector to be permuted, xs
-> Vec n a |

Forward permutation specified by an index mapping, ix. The result vector is initialized by the given defaults, def, and an further values that are permuted into the result are added to the current value using the given combination function, f.

The combination function must be associative and commutative.

backpermute Source #

Arguments

:: forall i (n :: Nat) a (m :: Nat). (Enum i, KnownNat n) |
=> Vec n a | Source vector, xs
-> Vec m i | Index mapping, is
-> Vec m a |

Backwards permutation specified by an index mapping, is, from the destination vector specifying which element of the source vector xs to read.

"`backpermute` `xs is`" is equivalent to "`map` `(xs `!!`) is`".

For example:

    >>> let input = 1:>9:>6:>4:>4:>2:>0:>1:>2:>Nil
    >>> let from  = 1:>3:>7:>2:>5:>3:>Nil
    >>> backpermute input from
    9 :> 4 :> 1 :> 6 :> 2 :> 4 :> Nil

scatter Source #

Arguments

:: forall i (n :: Nat) (m :: Nat) a (k :: Natural). (Enum i, KnownNat n, KnownNat m) |
=> Vec n a | Default values, def
-> Vec m i | Index mapping, is
-> Vec (m + k) a | Vector to be scattered, xs
-> Vec n a |

Copy elements from the source vector, xs, to the destination vector according to an index mapping is. This is a forward permute operation where a to vector encodes an input to output index mapping. Output elements for indices that are not mapped assume the value in the default vector def.

For example:

    >>> let defVec = 0:>0:>0:>0:>0:>0:>0:>0:>0:>Nil
    >>> let to = 1:>3:>7:>2:>5:>8:>Nil
    >>> let input = 1:>9:>6:>4:>4:>2:>5:>Nil
    >>> scatter defVec to input
    0 :> 1 :> 4 :> 9 :> 0 :> 4 :> 0 :> 6 :> 2 :> Nil

NB: If the same index appears in the index mapping more than once, the latest mapping is chosen.

rotateLeft :: forall i (n :: Nat) a. (Enum i, KnownNat n) => Vec n a -> i -> Vec n a Source #

Dynamically rotate a `Vec`tor to the left:

    >>> let xs = 1 :> 2 :> 3 :> 4 :> Nil
    >>> rotateLeft xs 1
    2 :> 3 :> 4 :> 1 :> Nil
    >>> rotateLeft xs 2
    3 :> 4 :> 1 :> 2 :> Nil
    >>> rotateLeft xs (-1)
    4 :> 1 :> 2 :> 3 :> Nil

NB: Use `rotateLeftS` if you want to rotate left by a static amount.

rotateRight :: forall i (n :: Nat) a. (Enum i, KnownNat n) => Vec n a -> i -> Vec n a Source #

Dynamically rotate a `Vec`tor to the right:

    >>> let xs = 1 :> 2 :> 3 :> 4 :> Nil
    >>> rotateRight xs 1
    4 :> 1 :> 2 :> 3 :> Nil
    >>> rotateRight xs 2
    3 :> 4 :> 1 :> 2 :> Nil
    >>> rotateRight xs (-1)
    2 :> 3 :> 4 :> 1 :> Nil

NB: Use `rotateRightS` if you want to rotate right by a static amount.

rotateLeftS :: forall (n :: Nat) a (d :: Nat). KnownNat n => Vec n a -> SNat d -> Vec n a Source #

Statically rotate a `Vec`tor to the left:

    >>> let xs = 1 :> 2 :> 3 :> 4 :> Nil
    >>> rotateLeftS xs d1
    2 :> 3 :> 4 :> 1 :> Nil

NB: Use `rotateLeft` if you want to rotate left by a dynamic amount.

rotateRightS :: forall (n :: Nat) a (d :: Nat). KnownNat n => Vec n a -> SNat d -> Vec n a Source #

Statically rotate a `Vec`tor to the right:

    >>> let xs = 1 :> 2 :> 3 :> 4 :> Nil
    >>> rotateRightS xs d1
    4 :> 1 :> 2 :> 3 :> Nil

NB: Use `rotateRight` if you want to rotate right by a dynamic amount.

izipWith :: forall (n :: Nat) a b c. KnownNat n => (Index n -> a -> b -> c) -> Vec n a -> Vec n b -> Vec n c Source #

Zip two vectors with a functions that also takes the elements' indices.

    >>> izipWith (\i a b -> i + a + b) (2 :> 2 :> Nil)  (3 :> 3:> Nil)
    *** Exception: X: Clash.Sized.Index: result 2 is out of bounds: [0..1]
    ...
    >>> izipWith (\i a b -> extend (bitCoerce i) + a + b) (2 :> 2 :> Nil) (3 :> 3 :> Nil) :: Vec 2 (Unsigned 8)
    5 :> 6 :> Nil

"`imap` `f xs`" corresponds to the following circuit layout:

NB: `izipWith` is strict in its second argument, and lazy in its third. This matters when `izipWith` is used in a recursive setting. See `lazyV` for more information.

dfold Source #

Arguments

:: forall (p :: TyFun Nat Type -> Type) (k :: Nat) a. KnownNat k |
=> Proxy p | The motive
-> (forall (l :: Nat). SNat l -> a -> (p @@ l) -> p @@ (l + 1)) | Function to fold. NB: The `SNat l` is not the index (see (`!!`)) to the element a. `SNat l` is the number of elements that occur to the right of a.
-> (p @@ 0) | Initial element
-> Vec k a | Vector to fold over
-> p @@ k |

A dependently typed fold.

### doctests setup

Expand

    >>> :seti -fplugin GHC.TypeLits.Normalise
    >>> import Data.Singletons (Apply, Proxy (..), TyFun)
    >>> data Append (m :: Nat) (a :: Type) (f :: TyFun Nat Type) :: Type
    >>> type instance Apply (Append m a) l = Vec (l + m) a
    >>> let append' xs ys = dfold (Proxy :: Proxy (Append m a)) (const (:>)) ys xs

### Example usage

Using lists, we can define append (a.k.a. `Data.List.``++`) in terms of `Data.List.``foldr`:

    >>> import qualified Data.List
    >>> let append xs ys = Data.List.foldr (:) ys xs
    >>> append [1,2] [3,4]
    [1,2,3,4]

However, when we try to do the same for `Vec`, by defining append' in terms of `Clash.Sized.Vector.``foldr`:

    append' xs ys = foldr (:>) ys xs

we get a type error:

    >>> let append' xs ys = foldr (:>) ys xs

    <interactive>:...
        • Occurs check: cannot construct the infinite type: ... ~ ... + 1
          Expected type: a -> Vec ... a -> Vec ... a
            Actual type: a -> Vec ... a -> Vec (... + 1) a
        • In the first argument of ‘foldr’, namely ‘(:>)’
          In the expression: foldr (:>) ys xs
          In an equation for ‘append'’: append' xs ys = foldr (:>) ys xs
        • Relevant bindings include
            ys :: Vec ... a (bound at ...)
            append' :: Vec n a -> Vec ... a -> Vec ... a
              (bound at ...)

The reason is that the type of `foldr` is:

    >>> :t foldr
    foldr :: (a -> b -> b) -> b -> Vec n a -> b

While the type of (`:>`) is:

    >>> :t (:>)
    (:>) :: a -> Vec n a -> Vec (n + 1) a

We thus need a `fold` function that can handle the growing vector type: `dfold`. Compared to `foldr`, `dfold` takes an extra parameter, called the motive, that allows the folded function to have an argument and result type that depends on the current length of the vector. Using `dfold`, we can now correctly define append':

    import Data.Singletons
    import Data.Proxy

    data Append (m :: Nat) (a :: Type) (f :: TyFun Nat Type) :: Type
    type instance Apply (Append m a) l = Vec (l + m) a

    append' xs ys = dfold (Proxy :: Proxy (Append m a)) (const (:>)) ys xs

We now see that append' has the appropriate type:

    >>> :t append'
    append' :: KnownNat k => Vec k a -> Vec m a -> Vec (k + m) a

And that it works:

    >>> append' (1 :> 2 :> Nil) (3 :> 4 :> Nil)
    1 :> 2 :> 3 :> 4 :> Nil

NB: "``dfold` m f z xs`" creates a linear structure, which has a depth, or delay, of O(``length` xs`). Look at `dtfold` for a dependently typed fold that produces a structure with a depth of O(log_2(``length` xs`)).

vfold :: forall (k :: Nat) a b. KnownNat k => (forall (l :: Nat). SNat l -> a -> Vec l b -> Vec (l + 1) b) -> Vec k a -> Vec k b Source #

Specialised version of `dfold` that builds a triangular computational structure.

### doctests setup

Expand

    >>> let compareSwap a b = if a > b then (a,b) else (b,a)
    >>> let insert y xs = let (y',xs') = mapAccumL compareSwap y xs in xs' :< y'
    >>> let insertionSort = vfold (const insert)

### Example usage

    compareSwap a b = if a > b then (a,b) else (b,a)
    insert y xs     = let (y',xs') = mapAccumL compareSwap y xs in xs' :< y'
    insertionSort   = vfold (const insert)

Builds a triangular structure of compare and swaps to sort a row.

    >>> insertionSort (7 :> 3 :> 9 :> 1 :> Nil)
    1 :> 3 :> 7 :> 9 :> Nil

The circuit layout of `insertionSort`, build using `vfold`, is:

postscanl :: forall b a (n :: Nat). (b -> a -> b) -> b -> Vec n a -> Vec n b Source #

`postscanl` is a variant of `scanl` where the first result is dropped:

    postscanl f z (x1 :> x2 :> ... :> Nil) == (z `f` x1) :> ((z `f` x1) `f` x2) :> ... :> Nil

    >>> postscanl (+) 0 (5 :> 4 :> 3 :> 2 :> Nil)
    5 :> 9 :> 12 :> 14 :> Nil

"`postscanl` `f z xs`" corresponds to the following circuit layout:

postscanr :: forall a b (n :: Nat). (a -> b -> b) -> b -> Vec n a -> Vec n b Source #

`postscanr` is a variant of `scanr` that where the last result is dropped:

    postscanr f z (... :> xn1 :> xn :> Nil) == ... :> (xn1 `f` (xn `f` z)) :> (xn `f` z) :> Nil

    >>> postscanr (+) 0 (5 :> 4 :> 3 :> 2 :> Nil)
    14 :> 9 :> 5 :> 2 :> Nil

"`postscanr` `f z xs`" corresponds to the following circuit layout:

stencil1d Source #

Arguments

:: forall (n :: Nat) (stX :: Natural) a b. KnownNat n |
=> SNat (stX + 1) | Windows length stX, at least size 1
-> (Vec (stX + 1) a -> b) | The stencil (function)
-> Vec ((stX + n) + 1) a |
-> Vec (n + 1) b |

1-dimensional stencil computations

"`stencil1d` `stX f xs`", where xs has stX + n elements, applies the stencil computation f on: n + 1 overlapping (1D) windows of length stX, drawn from xs. The resulting vector has n + 1 elements.

    >>> let xs = (1:>2:>3:>4:>5:>6:>Nil)
    >>> :t xs
    xs :: Num a => Vec 6 a
    >>> :t stencil1d d2 sum xs
    stencil1d d2 sum xs :: Num b => Vec 5 b
    >>> stencil1d d2 sum xs
    3 :> 5 :> 7 :> 9 :> 11 :> Nil

stencil2d Source #

Arguments

:: forall (n :: Nat) (m :: Nat) (stY :: Natural) (stX :: Natural) a b. (KnownNat n, KnownNat m) |
=> SNat (stY + 1) | Window hight stY, at least size 1
-> SNat (stX + 1) | Window width stX, at least size 1
-> (Vec (stY + 1) (Vec (stX + 1) a) -> b) | The stencil (function)
-> Vec ((stY + m) + 1) (Vec ((stX + n) + 1) a) |
-> Vec (m + 1) (Vec (n + 1) b) |

2-dimensional stencil computations

"`stencil2d` `stY stX f xss`", where xss is a matrix of stY + m rows of stX + n elements, applies the stencil computation f on: (m + 1) * (n + 1) overlapping (2D) windows of stY rows of stX elements, drawn from xss. The result matrix has m + 1 rows of n + 1 elements.

    >>> let xss = ((1:>2:>3:>4:>Nil):>(5:>6:>7:>8:>Nil):>(9:>10:>11:>12:>Nil):>(13:>14:>15:>16:>Nil):>Nil)
    >>> :t xss
    xss :: Num a => Vec 4 (Vec 4 a)

    >>> :t stencil2d d2 d2 (sum . map sum) xss
    stencil2d d2 d2 (sum . map sum) xss :: Num a => Vec 3 (Vec 3 a)

    >>> stencil2d d2 d2 (sum . map sum) xss
    (14 :> 18 :> 22 :> Nil) :> (30 :> 34 :> 38 :> Nil) :> (46 :> 50 :> 54 :> Nil) :> Nil

windows1d Source #

Arguments

:: forall (n :: Nat) (stX :: Natural) a. KnownNat n |
=> SNat (stX + 1) | Length of the window, at least size 1
-> Vec ((stX + n) + 1) a |
-> Vec (n + 1) (Vec (stX + 1) a) |

"`windows1d` `stX xs`", where the vector xs has stX + n elements, returns a vector of n + 1 overlapping (1D) windows of xs of length stX.

    >>> let xs = (1:>2:>3:>4:>5:>6:>Nil)
    >>> :t xs
    xs :: Num a => Vec 6 a
    >>> :t windows1d d2 xs
    windows1d d2 xs :: Num a => Vec 5 (Vec 2 a)
    >>> windows1d d2 xs
    (1 :> 2 :> Nil) :> (2 :> 3 :> Nil) :> (3 :> 4 :> Nil) :> (4 :> 5 :> Nil) :> (5 :> 6 :> Nil) :> Nil

windows2d Source #

Arguments

:: forall (n :: Nat) (m :: Nat) (stY :: Natural) (stX :: Natural) a. (KnownNat n, KnownNat m) |
=> SNat (stY + 1) | Window hight stY, at least size 1
-> SNat (stX + 1) | Window width stX, at least size 1
-> Vec ((stY + m) + 1) (Vec ((stX + n) + 1) a) |
-> Vec (m + 1) (Vec (n + 1) (Vec (stY + 1) (Vec (stX + 1) a))) |

"`windows2d` `stY stX xss`", where matrix xss has stY + m rows of stX + n, returns a matrix of m+1 rows of n+1 elements. The elements of this new matrix are the overlapping (2D) windows of xss, where every window has stY rows of stX elements.

    >>> let xss = ((1:>2:>3:>4:>Nil):>(5:>6:>7:>8:>Nil):>(9:>10:>11:>12:>Nil):>(13:>14:>15:>16:>Nil):>Nil)
    >>> :t xss
    xss :: Num a => Vec 4 (Vec 4 a)
    >>> :t windows2d d2 d2 xss
    windows2d d2 d2 xss :: Num a => Vec 3 (Vec 3 (Vec 2 (Vec 2 a)))
    >>> windows2d d2 d2 xss
    (((1 :> 2 :> Nil) :> (5 :> 6 :> Nil) :> Nil) :> ((2 :> 3 :> Nil) :> (6 :> 7 :> Nil) :> Nil) :> ((3 :> 4 :> Nil) :> (7 :> 8 :> Nil) :> Nil) :> Nil) :> (((5 :> 6 :> Nil) :> (9 :> 10 :> Nil) :> Nil) :> ((6 :> 7 :> Nil) :> (10 :> 11 :> Nil) :> Nil) :> ((7 :> 8 :> Nil) :> (11 :> 12 :> Nil) :> Nil) :> Nil) :> (((9 :> 10 :> Nil) :> (13 :> 14 :> Nil) :> Nil) :> ((10 :> 11 :> Nil) :> (14 :> 15 :> Nil) :> Nil) :> ((11 :> 12 :> Nil) :> (15 :> 16 :> Nil) :> Nil) :> Nil) :> Nil

bv2v :: forall (n :: Nat). KnownNat n => BitVector n -> Vec n Bit Source #

Convert a `BitVector` to a `Vec` of `Bit`s.

    >>> let x = 6 :: BitVector 8
    >>> x
    0b0000_0110
    >>> bv2v x
    0 :> 0 :> 0 :> 0 :> 0 :> 1 :> 1 :> 0 :> Nil

v2bv :: forall (n :: Nat). KnownNat n => Vec n Bit -> BitVector n Source #

Convert a `Vec` of `Bit`s to a `BitVector`.

    >>> let x = (0:>0:>0:>1:>0:>0:>1:>0:>Nil) :: Vec 8 Bit
    >>> x
    0 :> 0 :> 0 :> 1 :> 0 :> 0 :> 1 :> 0 :> Nil
    >>> v2bv x
    0b0001_0010

data VCons a (f :: TyFun Nat Type) Source #

To be used as the motive p for `dfold`, when the f in "`dfold` `p f`" is a variation on (`:>`), e.g.:

    map' :: forall n a b . KnownNat n => (a -> b) -> Vec n a -> Vec n b
    map' f = dfold (Proxy @(VCons b)) (_ x xs -> f x :> xs)

#### Instances

Instances details

type Apply (VCons a :: TyFun Nat Type -> Type) (l :: Nat) Source # |
Instance details Defined in Clash.Sized.Vector type Apply (VCons a :: TyFun Nat Type -> Type) (l :: Nat) = Vec l a

asNatProxy :: forall (n :: Nat) a. Vec n a -> Proxy n Source #

`Vec`tor as a `Proxy` for `Nat`

seqV :: forall (n :: Nat) a b. KnownNat n => Vec n a -> b -> b infixr 0 Source #

Evaluate all elements of a vector to WHNF, returning the second argument

forceV :: forall (n :: Nat) a. KnownNat n => Vec n a -> Vec n a Source #

Evaluate all elements of a vector to WHNF

seqVX :: forall (n :: Nat) a b. KnownNat n => Vec n a -> b -> b infixr 0 Source #

Evaluate all elements of a vector to WHNF, returning the second argument. Does not propagate `XException`s.

forceVX :: forall (n :: Nat) a. KnownNat n => Vec n a -> Vec n a Source #

Evaluate all elements of a vector to WHNF. Does not propagate `XException`s.

concatBitVector# :: forall (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m) => Vec n (BitVector m) -> BitVector (n * m) Source #

unconcatBitVector# :: forall (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m) => BitVector (n * m) -> Vec n (BitVector m) Source #

### Perfect depth trees

module Clash.Sized.RTree

## Annotations

module Clash.Annotations.TopEntity

## Generics type-classes

class Generic a Source #

Representable types of kind `*`. This class is derivable in GHC with the `DeriveGeneric` flag on.

A `Generic` instance must satisfy the following laws:

    from . to ≡ id
    to . from ≡ id

Minimal complete definition

from, to

#### Instances

Instances details

Generic ShortByteString |

Instance details

Defined in Data.ByteString.Short.Internal

Associated Types

type Rep ShortByteString |
Instance details Defined in Data.ByteString.Short.Internal type Rep ShortByteString = D1 ('MetaData "ShortByteString" "Data.ByteString.Short.Internal" "bytestring-0.12.2.0-inplace" 'True) (C1 ('MetaCons "ShortByteString" 'PrefixI 'True) (S1 ('MetaSel ('Just "unShortByteString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteArray)))

Methods

from :: ShortByteString -> Rep ShortByteString x Source #

to :: Rep ShortByteString x -> ShortByteString Source #

Generic ConstrRepr Source # |

Instance details

Defined in Clash.Annotations.BitRepresentation

Associated Types

type Rep ConstrRepr |

Instance details

Defined in Clash.Annotations.BitRepresentation

type Rep ConstrRepr = D1 ('MetaData "ConstrRepr" "Clash.Annotations.BitRepresentation" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "ConstrRepr" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BitMask)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldAnn]))))

Methods

from :: ConstrRepr -> Rep ConstrRepr x Source #

to :: Rep ConstrRepr x -> ConstrRepr Source #

Generic DataReprAnn Source # |

Instance details

Defined in Clash.Annotations.BitRepresentation

Associated Types

type Rep DataReprAnn |

Instance details

Defined in Clash.Annotations.BitRepresentation

type Rep DataReprAnn = D1 ('MetaData "DataReprAnn" "Clash.Annotations.BitRepresentation" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "DataReprAnn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Size) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ConstrRepr]))))

Methods

from :: DataReprAnn -> Rep DataReprAnn x Source #

to :: Rep DataReprAnn x -> DataReprAnn Source #

Generic ConstrRepr' Source # |

Instance details

Defined in Clash.Annotations.BitRepresentation.Internal

Associated Types

type Rep ConstrRepr' |

Instance details

Defined in Clash.Annotations.BitRepresentation.Internal

type Rep ConstrRepr' = D1 ('MetaData "ConstrRepr'" "Clash.Annotations.BitRepresentation.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "ConstrRepr'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "crName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "crPosition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "crMask") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BitMask) :*: (S1 ('MetaSel ('Just "crValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value) :*: S1 ('MetaSel ('Just "crFieldAnns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldAnn])))))

Methods

from :: ConstrRepr' -> Rep ConstrRepr' x Source #

to :: Rep ConstrRepr' x -> ConstrRepr' Source #

Generic DataRepr' Source # |

Instance details

Defined in Clash.Annotations.BitRepresentation.Internal

Associated Types

type Rep DataRepr' |

Instance details

Defined in Clash.Annotations.BitRepresentation.Internal

type Rep DataRepr' = D1 ('MetaData "DataRepr'" "Clash.Annotations.BitRepresentation.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "DataRepr'" 'PrefixI 'True) (S1 ('MetaSel ('Just "drType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type') :*: (S1 ('MetaSel ('Just "drSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Size) :*: S1 ('MetaSel ('Just "drConstrs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ConstrRepr']))))

Methods

from :: DataRepr' -> Rep DataRepr' x Source #

to :: Rep DataRepr' x -> DataRepr' Source #

Generic Type' Source # |

Instance details

Defined in Clash.Annotations.BitRepresentation.Internal

Associated Types

type Rep Type' |

Instance details

Defined in Clash.Annotations.BitRepresentation.Internal

type Rep Type' = D1 ('MetaData "Type'" "Clash.Annotations.BitRepresentation.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) ((C1 ('MetaCons "AppTy'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type') :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type')) :+: C1 ('MetaCons "ConstTy'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))) :+: (C1 ('MetaCons "LitTy'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons "SymLitTy'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

Methods

from :: Type' -> Rep Type' x Source #

to :: Rep Type' x -> Type' Source #

Generic HDL Source # |

Instance details

Defined in Clash.Annotations.Primitive

Associated Types

type Rep HDL |
Instance details Defined in Clash.Annotations.Primitive type Rep HDL = D1 ('MetaData "HDL" "Clash.Annotations.Primitive" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "SystemVerilog" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Verilog" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VHDL" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: HDL -> Rep HDL x Source #

to :: Rep HDL x -> HDL Source #

Generic Primitive Source # |

Instance details

Defined in Clash.Annotations.Primitive

Associated Types

type Rep Primitive |

Instance details

Defined in Clash.Annotations.Primitive

type Rep Primitive = D1 ('MetaData "Primitive" "Clash.Annotations.Primitive" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Primitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [HDL]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: (C1 ('MetaCons "InlinePrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [HDL]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "InlineYamlPrimitive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [HDL]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

Methods

from :: Primitive -> Rep Primitive x Source #

to :: Rep Primitive x -> Primitive Source #

Generic PrimitiveWarning Source # |

Instance details

Defined in Clash.Annotations.Primitive

Associated Types

type Rep PrimitiveWarning |

Instance details

Defined in Clash.Annotations.Primitive

type Rep PrimitiveWarning = D1 ('MetaData "PrimitiveWarning" "Clash.Annotations.Primitive" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "WarnNonSynthesizable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "WarnAlways" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: PrimitiveWarning -> Rep PrimitiveWarning x Source #

to :: Rep PrimitiveWarning x -> PrimitiveWarning Source #

Generic PortName Source # |

Instance details

Defined in Clash.Annotations.TopEntity

Associated Types

type Rep PortName |

Instance details

Defined in Clash.Annotations.TopEntity

type Rep PortName = D1 ('MetaData "PortName" "Clash.Annotations.TopEntity" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "PortName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "PortProduct" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PortName])))

Methods

from :: PortName -> Rep PortName x Source #

to :: Rep PortName x -> PortName Source #

Generic TopEntity Source # |

Instance details

Defined in Clash.Annotations.TopEntity

Associated Types

type Rep TopEntity |

Instance details

Defined in Clash.Annotations.TopEntity

type Rep TopEntity = D1 ('MetaData "TopEntity" "Clash.Annotations.TopEntity" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Synthesize" 'PrefixI 'True) (S1 ('MetaSel ('Just "t_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "t_inputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PortName]) :*: S1 ('MetaSel ('Just "t_output") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PortName))) :+: C1 ('MetaCons "TestBench" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))

Methods

from :: TopEntity -> Rep TopEntity x Source #

to :: Rep TopEntity x -> TopEntity Source #

Generic RxReg Source # |

Instance details

Defined in Clash.Examples.Internal

Associated Types

type Rep RxReg |

Instance details

Defined in Clash.Examples.Internal

type Rep RxReg = D1 ('MetaData "RxReg" "Clash.Examples.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "RxReg" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_rx_reg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector 8)) :*: S1 ('MetaSel ('Just "_rx_data") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector 8))) :*: (S1 ('MetaSel ('Just "_rx_sample_cnt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Unsigned 4)) :*: (S1 ('MetaSel ('Just "_rx_cnt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Unsigned 4)) :*: S1 ('MetaSel ('Just "_rx_frame_err") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "_rx_over_run") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "_rx_empty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "_rx_d1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bit) :*: (S1 ('MetaSel ('Just "_rx_d2") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bit) :*: S1 ('MetaSel ('Just "_rx_busy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

Methods

from :: RxReg -> Rep RxReg x Source #

to :: Rep RxReg x -> RxReg Source #

Generic TxReg Source # |

Instance details

Defined in Clash.Examples.Internal

Associated Types

type Rep TxReg |

Instance details

Defined in Clash.Examples.Internal

type Rep TxReg = D1 ('MetaData "TxReg" "Clash.Examples.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "TxReg" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_tx_reg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector 8)) :*: S1 ('MetaSel ('Just "_tx_empty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "_tx_over_run") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "_tx_out") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bit) :*: S1 ('MetaSel ('Just "_tx_cnt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Unsigned 4))))))

Methods

from :: TxReg -> Rep TxReg x Source #

to :: Rep TxReg x -> TxReg Source #

Generic ActiveEdge Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep ActiveEdge |
Instance details Defined in Clash.Signal.Internal type Rep ActiveEdge = D1 ('MetaData "ActiveEdge" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Rising" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Falling" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ActiveEdge -> Rep ActiveEdge x Source #

to :: Rep ActiveEdge x -> ActiveEdge Source #

Generic ClockAB Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep ClockAB |
Instance details Defined in Clash.Signal.Internal type Rep ClockAB = D1 ('MetaData "ClockAB" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "ClockA" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ClockB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ClockAB" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: ClockAB -> Rep ClockAB x Source #

to :: Rep ClockAB x -> ClockAB Source #

Generic Femtoseconds Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep Femtoseconds |
Instance details Defined in Clash.Signal.Internal type Rep Femtoseconds = D1 ('MetaData "Femtoseconds" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'True) (C1 ('MetaCons "Femtoseconds" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

Methods

from :: Femtoseconds -> Rep Femtoseconds x Source #

to :: Rep Femtoseconds x -> Femtoseconds Source #

Generic InitBehavior Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep InitBehavior |
Instance details Defined in Clash.Signal.Internal type Rep InitBehavior = D1 ('MetaData "InitBehavior" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Unknown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Defined" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: InitBehavior -> Rep InitBehavior x Source #

to :: Rep InitBehavior x -> InitBehavior Source #

Generic ResetKind Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep ResetKind |
Instance details Defined in Clash.Signal.Internal type Rep ResetKind = D1 ('MetaData "ResetKind" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Asynchronous" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Synchronous" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ResetKind -> Rep ResetKind x Source #

to :: Rep ResetKind x -> ResetKind Source #

Generic ResetPolarity Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep ResetPolarity |
Instance details Defined in Clash.Signal.Internal type Rep ResetPolarity = D1 ('MetaData "ResetPolarity" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "ActiveHigh" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ActiveLow" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ResetPolarity -> Rep ResetPolarity x Source #

to :: Rep ResetPolarity x -> ResetPolarity Source #

Generic VDomainConfiguration Source # |

Instance details

Defined in Clash.Signal.Internal

Associated Types

type Rep VDomainConfiguration |

Instance details

Defined in Clash.Signal.Internal

type Rep VDomainConfiguration = D1 ('MetaData "VDomainConfiguration" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "VDomainConfiguration" 'PrefixI 'True) ((S1 ('MetaSel ('Just "vName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "vPeriod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "vActiveEdge") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ActiveEdge))) :*: (S1 ('MetaSel ('Just "vResetKind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResetKind) :*: (S1 ('MetaSel ('Just "vInitBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InitBehavior) :*: S1 ('MetaSel ('Just "vResetPolarity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResetPolarity)))))

Methods

from :: VDomainConfiguration -> Rep VDomainConfiguration x Source #

to :: Rep VDomainConfiguration x -> VDomainConfiguration Source #

Generic Bit Source # |

Instance details

Defined in Clash.Sized.Internal.BitVector

Associated Types

type Rep Bit |

Instance details

Defined in Clash.Sized.Internal.BitVector

type Rep Bit = D1 ('MetaData "Bit" "Clash.Sized.Internal.BitVector" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Bit" 'PrefixI 'True) (S1 ('MetaSel ('Just "unsafeMask#") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word) :*: S1 ('MetaSel ('Just "unsafeToInteger#") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word)))

Methods

from :: Bit -> Rep Bit x Source #

to :: Rep Bit x -> Bit Source #

Generic ForeignSrcLang |

Instance details

Defined in GHC.ForeignSrcLang.Type

Associated Types

type Rep ForeignSrcLang |

Instance details

Defined in GHC.ForeignSrcLang.Type

type Rep ForeignSrcLang = D1 ('MetaData "ForeignSrcLang" "GHC.ForeignSrcLang.Type" "ghc-boot-th-9.10.3-inplace" 'False) ((C1 ('MetaCons "LangC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LangCxx" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LangObjc" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LangObjcxx" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LangAsm" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LangJs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RawObject" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: ForeignSrcLang -> Rep ForeignSrcLang x Source #

to :: Rep ForeignSrcLang x -> ForeignSrcLang Source #

Generic Extension |

Instance details

Defined in GHC.LanguageExtensions.Type

Associated Types

type Rep Extension |

Instance details

Defined in GHC.LanguageExtensions.Type

type Rep Extension = D1 ('MetaData "Extension" "GHC.LanguageExtensions.Type" "ghc-boot-th-9.10.3-inplace" 'False) (((((((C1 ('MetaCons "Cpp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverlappingInstances" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UndecidableInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IncoherentInstances" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UndecidableSuperClasses" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MonomorphismRestriction" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MonoLocalBinds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeepSubsumption" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "RelaxedPolyRec" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExtendedDefaultRules" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ForeignFunctionInterface" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnliftedFFITypes" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "InterruptibleFFI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CApiFFI" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GHCForeignImportPrim" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JavaScriptFFI" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: ((((C1 ('MetaCons "ParallelArrays" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Arrows" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TemplateHaskell" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TemplateHaskellQuotes" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "QualifiedDo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QuasiQuotes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ImplicitParams" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImplicitPrelude" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ScopedTypeVariables" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AllowAmbiguousTypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UnboxedTuples" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnboxedSums" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UnliftedNewtypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnliftedDatatypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BangPatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeFamilies" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: (((((C1 ('MetaCons "TypeFamilyDependencies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeInType" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OverloadedStrings" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverloadedLists" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NumDecimals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DisambiguateRecordFields" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RecordWildCards" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NamedFieldPuns" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ViewPatterns" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GADTs" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GADTSyntax" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NPlusKPatterns" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DoAndIfThenElse" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BlockArguments" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RebindableSyntax" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConstraintKinds" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: ((((C1 ('MetaCons "PolyKinds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataKinds" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeData" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InstanceSigs" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ApplicativeDo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LinearTypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RequiredTypeArguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StandaloneDeriving" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "DeriveDataTypeable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AutoDeriveTypeable" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DeriveFunctor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveTraversable" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DeriveFoldable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveGeneric" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DefaultSignatures" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DeriveAnyClass" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeriveLift" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "DerivingStrategies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DerivingVia" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeSynonymInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FlexibleContexts" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "FlexibleInstances" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConstrainedClassMethods" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MultiParamTypeClasses" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NullaryTypeClasses" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "FunctionalDependencies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnicodeSyntax" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ExistentialQuantification" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MagicHash" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "EmptyDataDecls" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KindSignatures" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RoleAnnotations" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ParallelListComp" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: ((((C1 ('MetaCons "TransformListComp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MonadComprehensions" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GeneralizedNewtypeDeriving" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RecursiveDo" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "PostfixOperators" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TupleSections" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PatternGuards" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LiberalTypeSynonyms" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "RankNTypes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImpredicativeTypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeOperators" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExplicitNamespaces" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "PackageImports" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExplicitForAll" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AlternativeLayoutRule" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AlternativeLayoutRuleTransitional" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: (((((C1 ('MetaCons "DatatypeContexts" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NondecreasingIndentation" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RelaxedLayout" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TraditionalRecordSyntax" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LambdaCase" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MultiWayIf" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BinaryLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NegativeLiterals" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "HexFloatLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DuplicateRecordFields" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OverloadedLabels" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EmptyCase" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "PatternSynonyms" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PartialTypeSignatures" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NamedWildCards" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StaticPointers" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: ((((C1 ('MetaCons "TypeApplications" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Strict" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "StrictData" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EmptyDataDeriving" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NumericUnderscores" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QuantifiedConstraints" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "StarIsType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImportQualifiedPost" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "CUSKs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StandaloneKindSignatures" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LexicalNegation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FieldSelectors" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "OverloadedRecordDot" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverloadedRecordUpdate" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TypeAbstractions" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ExtendedLiterals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ListTuplePuns" 'PrefixI 'False) (U1 :: Type -> Type)))))))))

Methods

from :: Extension -> Rep Extension x Source #

to :: Rep Extension x -> Extension Source #

Generic Void |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Void | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Generics type Rep Void = D1 ('MetaData "Void" "GHC.Internal.Base" "ghc-internal" 'False) (V1 :: Type -> Type)

Methods

from :: Void -> Rep Void x Source #

to :: Rep Void x -> Void Source #

Generic ByteOrder |

Instance details

Defined in GHC.Internal.ByteOrder

Associated Types

type Rep ByteOrder | Since: base-4.15.0.0
Instance details Defined in GHC.Internal.ByteOrder type Rep ByteOrder = D1 ('MetaData "ByteOrder" "GHC.Internal.ByteOrder" "ghc-internal" 'False) (C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ByteOrder -> Rep ByteOrder x Source #

to :: Rep ByteOrder x -> ByteOrder Source #

Generic All |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep All | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep All = D1 ('MetaData "All" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: All -> Rep All x Source #

to :: Rep All x -> All Source #

Generic Any |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep Any | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep Any = D1 ('MetaData "Any" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: Any -> Rep Any x Source #

to :: Rep Any x -> Any Source #

Generic Version |

Instance details

Defined in GHC.Internal.Data.Version

Associated Types

type Rep Version | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Version

type Rep Version = D1 ('MetaData "Version" "GHC.Internal.Data.Version" "ghc-internal" 'False) (C1 ('MetaCons "Version" 'PrefixI 'True) (S1 ('MetaSel ('Just "versionBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: S1 ('MetaSel ('Just "versionTags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))

Methods

from :: Version -> Rep Version x Source #

to :: Rep Version x -> Version Source #

Generic Fingerprint |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Fingerprint | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep Fingerprint = D1 ('MetaData "Fingerprint" "GHC.Internal.Fingerprint.Type" "ghc-internal" 'False) (C1 ('MetaCons "Fingerprint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Word64)))

Methods

from :: Fingerprint -> Rep Fingerprint x Source #

to :: Rep Fingerprint x -> Fingerprint Source #

Generic Associativity |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Associativity | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Generics type Rep Associativity = D1 ('MetaData "Associativity" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "LeftAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RightAssociative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAssociative" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Associativity -> Rep Associativity x Source #

to :: Rep Associativity x -> Associativity Source #

Generic DecidedStrictness |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep DecidedStrictness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: DecidedStrictness -> Rep DecidedStrictness x Source #

to :: Rep DecidedStrictness x -> DecidedStrictness Source #

Generic Fixity |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Fixity | Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep Fixity = D1 ('MetaData "Fixity" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "Prefix" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Infix" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Associativity) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Methods

from :: Fixity -> Rep Fixity x Source #

to :: Rep Fixity x -> Fixity Source #

Generic SourceStrictness |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep SourceStrictness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: SourceStrictness -> Rep SourceStrictness x Source #

to :: Rep SourceStrictness x -> SourceStrictness Source #

Generic SourceUnpackedness |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep SourceUnpackedness | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: SourceUnpackedness -> Rep SourceUnpackedness x Source #

to :: Rep SourceUnpackedness x -> SourceUnpackedness Source #

Generic ExitCode |

Instance details

Defined in GHC.Internal.IO.Exception

Associated Types

type Rep ExitCode |
Instance details Defined in GHC.Internal.IO.Exception type Rep ExitCode = D1 ('MetaData "ExitCode" "GHC.Internal.IO.Exception" "ghc-internal" 'False) (C1 ('MetaCons "ExitSuccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExitFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Methods

from :: ExitCode -> Rep ExitCode x Source #

to :: Rep ExitCode x -> ExitCode Source #

Generic CCFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep CCFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep CCFlags = D1 ('MetaData "CCFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "CCFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "doCostCentres") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DoCostCentres) :*: (S1 ('MetaSel ('Just "profilerTicks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "msecsPerTick") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

Methods

from :: CCFlags -> Rep CCFlags x Source #

to :: Rep CCFlags x -> CCFlags Source #

Generic ConcFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep ConcFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep ConcFlags = D1 ('MetaData "ConcFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "ConcFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "ctxtSwitchTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "ctxtSwitchTicks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Methods

from :: ConcFlags -> Rep ConcFlags x Source #

to :: Rep ConcFlags x -> ConcFlags Source #

Generic DebugFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep DebugFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep DebugFlags = D1 ('MetaData "DebugFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "DebugFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "scheduler") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "interpreter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "weak") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "gccafs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "gc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "nonmoving_gc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "block_alloc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sanity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: (((S1 ('MetaSel ('Just "stable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "prof") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "linker") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "apply") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "stm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "squeeze") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "hpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sparks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

Methods

from :: DebugFlags -> Rep DebugFlags x Source #

to :: Rep DebugFlags x -> DebugFlags Source #

Generic DoCostCentres |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep DoCostCentres | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep DoCostCentres = D1 ('MetaData "DoCostCentres" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) ((C1 ('MetaCons "CostCentresNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CostCentresSummary" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CostCentresVerbose" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CostCentresAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CostCentresJSON" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: DoCostCentres -> Rep DoCostCentres x Source #

to :: Rep DoCostCentres x -> DoCostCentres Source #

Generic DoHeapProfile |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep DoHeapProfile | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep DoHeapProfile = D1 ('MetaData "DoHeapProfile" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (((C1 ('MetaCons "NoHeapProfiling" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeapByCCS" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HeapByMod" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HeapByDescr" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeapByType" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "HeapByRetainer" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeapByLDV" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HeapByClosureType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HeapByInfoTable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeapByEra" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: DoHeapProfile -> Rep DoHeapProfile x Source #

to :: Rep DoHeapProfile x -> DoHeapProfile Source #

Generic DoTrace |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep DoTrace | Since: base-4.15.0.0
Instance details Defined in GHC.Internal.RTS.Flags type Rep DoTrace = D1 ('MetaData "DoTrace" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "TraceNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TraceEventLog" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TraceStderr" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: DoTrace -> Rep DoTrace x Source #

to :: Rep DoTrace x -> DoTrace Source #

Generic GCFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep GCFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep GCFlags = D1 ('MetaData "GCFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "GCFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "statsFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: (S1 ('MetaSel ('Just "giveStats") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GiveGCStats) :*: S1 ('MetaSel ('Just "maxStkSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) :*: ((S1 ('MetaSel ('Just "initialStkSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "stkChunkSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "stkChunkBufferSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "maxHeapSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))) :*: ((S1 ('MetaSel ('Just "minAllocAreaSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "largeAllocLim") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "nurseryChunkSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) :*: ((S1 ('MetaSel ('Just "minOldGenSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "heapSizeSuggestion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "heapSizeSuggestionAuto") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "oldGenFactor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double))))) :*: (((S1 ('MetaSel ('Just "returnDecayFactor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "pcFreeHeap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "generations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) :*: ((S1 ('MetaSel ('Just "squeezeUpdFrames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "compact") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "compactThreshold") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "sweep") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "ringBell") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "idleGCDelayTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "doIdleGC") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "heapBase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "allocLimitGrace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)) :*: (S1 ('MetaSel ('Just "numa") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "numaMask") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)))))))

Methods

from :: GCFlags -> Rep GCFlags x Source #

to :: Rep GCFlags x -> GCFlags Source #

Generic GiveGCStats |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep GiveGCStats | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep GiveGCStats = D1 ('MetaData "GiveGCStats" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) ((C1 ('MetaCons "NoGCStats" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CollectGCStats" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OneLineGCStats" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SummaryGCStats" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VerboseGCStats" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: GiveGCStats -> Rep GiveGCStats x Source #

to :: Rep GiveGCStats x -> GiveGCStats Source #

Generic HpcFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep HpcFlags | Since: base-4.20.0.0
Instance details Defined in GHC.Internal.RTS.Flags type Rep HpcFlags = D1 ('MetaData "HpcFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "HpcFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "writeTixFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: HpcFlags -> Rep HpcFlags x Source #

to :: Rep HpcFlags x -> HpcFlags Source #

Generic MiscFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep MiscFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep MiscFlags = D1 ('MetaData "MiscFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "MiscFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "tickInterval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: (S1 ('MetaSel ('Just "installSignalHandlers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "installSEHHandlers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "generateCrashDumpFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "generateStackTrace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "machineReadable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "disableDelayedOsMemoryReturn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "internalCounters") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "linkerAlwaysPic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "linkerMemBase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: (S1 ('MetaSel ('Just "ioManager") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IoSubSystem) :*: S1 ('MetaSel ('Just "numIoWorkerThreads") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))))))

Methods

from :: MiscFlags -> Rep MiscFlags x Source #

to :: Rep MiscFlags x -> MiscFlags Source #

Generic ParFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep ParFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep ParFlags = D1 ('MetaData "ParFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "ParFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "nCapabilities") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "migrate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "maxLocalSparks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "parGcEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "parGcGen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))) :*: ((S1 ('MetaSel ('Just "parGcLoadBalancingEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "parGcLoadBalancingGen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "parGcNoSyncWithIdle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "parGcThreads") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "setAffinity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

Methods

from :: ParFlags -> Rep ParFlags x Source #

to :: Rep ParFlags x -> ParFlags Source #

Generic ProfFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep ProfFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep ProfFlags = D1 ('MetaData "ProfFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "ProfFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "doHeapProfile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DoHeapProfile) :*: S1 ('MetaSel ('Just "heapProfileInterval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime)) :*: (S1 ('MetaSel ('Just "heapProfileIntervalTicks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "startHeapProfileAtStartup") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "startTimeProfileAtStartup") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "showCCSOnException") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "automaticEraIncrement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "maxRetainerSetSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)))) :*: (((S1 ('MetaSel ('Just "ccsLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "modSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))) :*: (S1 ('MetaSel ('Just "descrSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "typeSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :*: ((S1 ('MetaSel ('Just "ccSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "ccsSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))) :*: (S1 ('MetaSel ('Just "retainerSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: (S1 ('MetaSel ('Just "bioSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "eraSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)))))))

Methods

from :: ProfFlags -> Rep ProfFlags x Source #

to :: Rep ProfFlags x -> ProfFlags Source #

Generic RTSFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep RTSFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep RTSFlags = D1 ('MetaData "RTSFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "RTSFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "gcFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GCFlags) :*: S1 ('MetaSel ('Just "concurrentFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConcFlags)) :*: (S1 ('MetaSel ('Just "miscFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MiscFlags) :*: (S1 ('MetaSel ('Just "debugFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DebugFlags) :*: S1 ('MetaSel ('Just "costCentreFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CCFlags)))) :*: ((S1 ('MetaSel ('Just "profilingFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProfFlags) :*: S1 ('MetaSel ('Just "traceFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TraceFlags)) :*: (S1 ('MetaSel ('Just "tickyFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TickyFlags) :*: (S1 ('MetaSel ('Just "parFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParFlags) :*: S1 ('MetaSel ('Just "hpcFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HpcFlags))))))

Methods

from :: RTSFlags -> Rep RTSFlags x Source #

to :: Rep RTSFlags x -> RTSFlags Source #

Generic TickyFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep TickyFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep TickyFlags = D1 ('MetaData "TickyFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "TickyFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "showTickyStats") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "tickyFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))))

Methods

from :: TickyFlags -> Rep TickyFlags x Source #

to :: Rep TickyFlags x -> TickyFlags Source #

Generic TraceFlags |

Instance details

Defined in GHC.Internal.RTS.Flags

Associated Types

type Rep TraceFlags | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

type Rep TraceFlags = D1 ('MetaData "TraceFlags" "GHC.Internal.RTS.Flags" "ghc-internal" 'False) (C1 ('MetaCons "TraceFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "tracing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DoTrace) :*: S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "traceScheduler") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "traceGc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "traceNonmovingGc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sparksSampled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "sparksFull") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "user") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

Methods

from :: TraceFlags -> Rep TraceFlags x Source #

to :: Rep TraceFlags x -> TraceFlags Source #

Generic SrcLoc |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep SrcLoc | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep SrcLoc = D1 ('MetaData "SrcLoc" "GHC.Internal.Stack.Types" "ghc-internal" 'False) (C1 ('MetaCons "SrcLoc" 'PrefixI 'True) ((S1 ('MetaSel ('Just "srcLocPackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Char]) :*: (S1 ('MetaSel ('Just "srcLocModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Char]) :*: S1 ('MetaSel ('Just "srcLocFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Char]))) :*: ((S1 ('MetaSel ('Just "srcLocStartLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "srcLocStartCol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "srcLocEndLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "srcLocEndCol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))

Methods

from :: SrcLoc -> Rep SrcLoc x Source #

to :: Rep SrcLoc x -> SrcLoc Source #

Generic GCDetails |

Instance details

Defined in GHC.Internal.Stats

Associated Types

type Rep GCDetails | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.Stats

type Rep GCDetails = D1 ('MetaData "GCDetails" "GHC.Internal.Stats" "ghc-internal" 'False) (C1 ('MetaCons "GCDetails" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "gcdetails_gen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "gcdetails_threads") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "gcdetails_allocated_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "gcdetails_live_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64))) :*: ((S1 ('MetaSel ('Just "gcdetails_large_objects_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "gcdetails_compact_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)) :*: (S1 ('MetaSel ('Just "gcdetails_slop_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "gcdetails_mem_in_use_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))) :*: (((S1 ('MetaSel ('Just "gcdetails_copied_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "gcdetails_par_max_copied_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)) :*: (S1 ('MetaSel ('Just "gcdetails_par_balanced_copied_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "gcdetails_block_fragmentation_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64))) :*: ((S1 ('MetaSel ('Just "gcdetails_sync_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "gcdetails_cpu_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime)) :*: (S1 ('MetaSel ('Just "gcdetails_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: (S1 ('MetaSel ('Just "gcdetails_nonmoving_gc_sync_cpu_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "gcdetails_nonmoving_gc_sync_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime)))))))

Methods

from :: GCDetails -> Rep GCDetails x Source #

to :: Rep GCDetails x -> GCDetails Source #

Generic RTSStats |

Instance details

Defined in GHC.Internal.Stats

Associated Types

type Rep RTSStats | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.Stats

type Rep RTSStats = D1 ('MetaData "RTSStats" "GHC.Internal.Stats" "ghc-internal" 'False) (C1 ('MetaCons "RTSStats" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "gcs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "major_gcs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "allocated_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64))) :*: ((S1 ('MetaSel ('Just "max_live_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "max_large_objects_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)) :*: (S1 ('MetaSel ('Just "max_compact_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "max_slop_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))) :*: ((S1 ('MetaSel ('Just "max_mem_in_use_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: (S1 ('MetaSel ('Just "cumulative_live_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "copied_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64))) :*: ((S1 ('MetaSel ('Just "par_copied_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "cumulative_par_max_copied_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)) :*: (S1 ('MetaSel ('Just "cumulative_par_balanced_copied_bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "init_cpu_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime))))) :*: (((S1 ('MetaSel ('Just "init_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: (S1 ('MetaSel ('Just "mutator_cpu_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "mutator_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime))) :*: ((S1 ('MetaSel ('Just "gc_cpu_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "gc_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime)) :*: (S1 ('MetaSel ('Just "cpu_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime)))) :*: ((S1 ('MetaSel ('Just "nonmoving_gc_sync_cpu_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: (S1 ('MetaSel ('Just "nonmoving_gc_sync_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "nonmoving_gc_sync_max_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime))) :*: ((S1 ('MetaSel ('Just "nonmoving_gc_cpu_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "nonmoving_gc_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime)) :*: (S1 ('MetaSel ('Just "nonmoving_gc_max_elapsed_ns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "gc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GCDetails)))))))

Methods

from :: RTSStats -> Rep RTSStats x Source #

to :: Rep RTSStats x -> RTSStats Source #

Generic GeneralCategory |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep GeneralCategory | Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep GeneralCategory = D1 ('MetaData "GeneralCategory" "GHC.Internal.Unicode" "ghc-internal" 'False) ((((C1 ('MetaCons "UppercaseLetter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LowercaseLetter" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TitlecaseLetter" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ModifierLetter" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherLetter" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NonSpacingMark" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SpacingCombiningMark" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "EnclosingMark" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecimalNumber" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LetterNumber" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherNumber" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ConnectorPunctuation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DashPunctuation" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OpenPunctuation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ClosePunctuation" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "InitialQuote" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FinalQuote" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherPunctuation" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MathSymbol" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CurrencySymbol" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ModifierSymbol" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherSymbol" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "Space" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LineSeparator" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ParagraphSeparator" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Control" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Format" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Surrogate" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PrivateUse" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAssigned" 'PrefixI 'False) (U1 :: Type -> Type))))))

Methods

from :: GeneralCategory -> Rep GeneralCategory x Source #

to :: Rep GeneralCategory x -> GeneralCategory Source #

Generic Ordering |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Ordering | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep Ordering = D1 ('MetaData "Ordering" "GHC.Types" "ghc-prim" 'False) (C1 ('MetaCons "LT" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EQ" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GT" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Ordering -> Rep Ordering x Source #

to :: Rep Ordering x -> Ordering Source #

Generic Half |

Instance details

Defined in Numeric.Half.Internal

Associated Types

type Rep Half |
Instance details Defined in Numeric.Half.Internal type Rep Half = D1 ('MetaData "Half" "Numeric.Half.Internal" "half-0.3.3-Jvy5dNDq4tiIUhNYeZg50I" 'True) (C1 ('MetaCons "Half" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHalf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUShort)))

Methods

from :: Half -> Rep Half x Source #

to :: Rep Half x -> Half Source #

Generic SrcLoc |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep SrcLoc |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcLoc = D1 ('MetaData "SrcLoc" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcLoc" 'PrefixI 'True) (S1 ('MetaSel ('Just "srcFilename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "srcLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "srcColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

Methods

from :: SrcLoc -> Rep SrcLoc x Source #

to :: Rep SrcLoc x -> SrcLoc Source #

Generic SrcSpan |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep SrcSpan |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcSpan = D1 ('MetaData "SrcSpan" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcSpan" 'PrefixI 'True) ((S1 ('MetaSel ('Just "srcSpanFilename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "srcSpanStartLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "srcSpanStartColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "srcSpanEndLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "srcSpanEndColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))

Methods

from :: SrcSpan -> Rep SrcSpan x Source #

to :: Rep SrcSpan x -> SrcSpan Source #

Generic SrcSpanInfo |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep SrcSpanInfo |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcSpanInfo = D1 ('MetaData "SrcSpanInfo" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcSpanInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "srcInfoSpan") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SrcSpan) :*: S1 ('MetaSel ('Just "srcInfoPoints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SrcSpan])))

Methods

from :: SrcSpanInfo -> Rep SrcSpanInfo x Source #

to :: Rep SrcSpanInfo x -> SrcSpanInfo Source #

Generic Boxed |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep Boxed |
Instance details Defined in Language.Haskell.Exts.Syntax type Rep Boxed = D1 ('MetaData "Boxed" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Boxed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Unboxed" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Boxed -> Rep Boxed x Source #

to :: Rep Boxed x -> Boxed Source #

Generic Tool |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep Tool |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep Tool = D1 ('MetaData "Tool" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "GHC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HUGS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NHC98" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "YHC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HADDOCK" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnknownTool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))))

Methods

from :: Tool -> Rep Tool x Source #

to :: Rep Tool x -> Tool Source #

Generic OsChar |

Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep OsChar |
Instance details Defined in System.OsString.Internal.Types type Rep OsChar = D1 ('MetaData "OsChar" "System.OsString.Internal.Types" "os-string-2.0.7-inplace" 'True) (C1 ('MetaCons "OsChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOsChar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PlatformChar)))

Methods

from :: OsChar -> Rep OsChar x Source #

to :: Rep OsChar x -> OsChar Source #

Generic OsString |

Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep OsString |
Instance details Defined in System.OsString.Internal.Types type Rep OsString = D1 ('MetaData "OsString" "System.OsString.Internal.Types" "os-string-2.0.7-inplace" 'True) (C1 ('MetaCons "OsString" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOsString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PlatformString)))

Methods

from :: OsString -> Rep OsString x Source #

to :: Rep OsString x -> OsString Source #

Generic PosixChar |

Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep PosixChar |
Instance details Defined in System.OsString.Internal.Types type Rep PosixChar = D1 ('MetaData "PosixChar" "System.OsString.Internal.Types" "os-string-2.0.7-inplace" 'True) (C1 ('MetaCons "PosixChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "getPosixChar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

Methods

from :: PosixChar -> Rep PosixChar x Source #

to :: Rep PosixChar x -> PosixChar Source #

Generic PosixString |

Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep PosixString |
Instance details Defined in System.OsString.Internal.Types type Rep PosixString = D1 ('MetaData "PosixString" "System.OsString.Internal.Types" "os-string-2.0.7-inplace" 'True) (C1 ('MetaCons "PosixString" 'PrefixI 'True) (S1 ('MetaSel ('Just "getPosixString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortByteString)))

Methods

from :: PosixString -> Rep PosixString x Source #

to :: Rep PosixString x -> PosixString Source #

Generic WindowsChar |

Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep WindowsChar |
Instance details Defined in System.OsString.Internal.Types type Rep WindowsChar = D1 ('MetaData "WindowsChar" "System.OsString.Internal.Types" "os-string-2.0.7-inplace" 'True) (C1 ('MetaCons "WindowsChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "getWindowsChar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))

Methods

from :: WindowsChar -> Rep WindowsChar x Source #

to :: Rep WindowsChar x -> WindowsChar Source #

Generic WindowsString |

Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep WindowsString |
Instance details Defined in System.OsString.Internal.Types type Rep WindowsString = D1 ('MetaData "WindowsString" "System.OsString.Internal.Types" "os-string-2.0.7-inplace" 'True) (C1 ('MetaCons "WindowsString" 'PrefixI 'True) (S1 ('MetaSel ('Just "getWindowsString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortByteString)))

Methods

from :: WindowsString -> Rep WindowsString x Source #

to :: Rep WindowsString x -> WindowsString Source #

Generic Mode |

Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep Mode |

Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

type Rep Mode = D1 ('MetaData "Mode" "Text.PrettyPrint.Annotated.HughesPJ" "pretty-1.1.3.6-inplace" 'False) ((C1 ('MetaCons "PageMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ZigZagMode" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LeftMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OneLineMode" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Mode -> Rep Mode x Source #

to :: Rep Mode x -> Mode Source #

Generic Style |

Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep Style |

Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

type Rep Style = D1 ('MetaData "Style" "Text.PrettyPrint.Annotated.HughesPJ" "pretty-1.1.3.6-inplace" 'False) (C1 ('MetaCons "Style" 'PrefixI 'True) (S1 ('MetaSel ('Just "mode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Mode) :*: (S1 ('MetaSel ('Just "lineLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "ribbonsPerLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))

Methods

from :: Style -> Rep Style x Source #

to :: Rep Style x -> Style Source #

Generic TextDetails |

Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep TextDetails |

Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

type Rep TextDetails = D1 ('MetaData "TextDetails" "Text.PrettyPrint.Annotated.HughesPJ" "pretty-1.1.3.6-inplace" 'False) (C1 ('MetaCons "Chr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Char)) :+: (C1 ('MetaCons "Str" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "PStr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

Methods

from :: TextDetails -> Rep TextDetails x Source #

to :: Rep TextDetails x -> TextDetails Source #

Generic Doc |

Instance details

Defined in Text.PrettyPrint.HughesPJ

Associated Types

type Rep Doc |
Instance details Defined in Text.PrettyPrint.HughesPJ type Rep Doc = D1 ('MetaData "Doc" "Text.PrettyPrint.HughesPJ" "pretty-1.1.3.6-inplace" 'True) (C1 ('MetaCons "Doc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc ()))))

Methods

from :: Doc -> Rep Doc x Source #

to :: Rep Doc x -> Doc Source #

Generic AnnLookup |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep AnnLookup |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep AnnLookup = D1 ('MetaData "AnnLookup" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "AnnLookupModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Module)) :+: C1 ('MetaCons "AnnLookupName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))

Methods

from :: AnnLookup -> Rep AnnLookup x Source #

to :: Rep AnnLookup x -> AnnLookup Source #

Generic AnnTarget |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep AnnTarget |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep AnnTarget = D1 ('MetaData "AnnTarget" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "ModuleAnnotation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TypeAnnotation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ValueAnnotation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))

Methods

from :: AnnTarget -> Rep AnnTarget x Source #

to :: Rep AnnTarget x -> AnnTarget Source #

Generic Bang |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Bang |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Bang = D1 ('MetaData "Bang" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Bang" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourceUnpackedness) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourceStrictness)))

Methods

from :: Bang -> Rep Bang x Source #

to :: Rep Bang x -> Bang Source #

Generic BndrVis |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep BndrVis |
Instance details Defined in Language.Haskell.TH.Syntax type Rep BndrVis = D1 ('MetaData "BndrVis" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "BndrReq" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BndrInvis" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: BndrVis -> Rep BndrVis x Source #

to :: Rep BndrVis x -> BndrVis Source #

Generic Body |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Body |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Body = D1 ('MetaData "Body" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "GuardedB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Guard, Exp)])) :+: C1 ('MetaCons "NormalB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))

Methods

from :: Body -> Rep Body x Source #

to :: Rep Body x -> Body Source #

Generic Bytes |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Bytes |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Bytes = D1 ('MetaData "Bytes" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Bytes" 'PrefixI 'True) (S1 ('MetaSel ('Just "bytesPtr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ForeignPtr Word8)) :*: (S1 ('MetaSel ('Just "bytesOffset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "bytesSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word))))

Methods

from :: Bytes -> Rep Bytes x Source #

to :: Rep Bytes x -> Bytes Source #

Generic Callconv |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Callconv |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Callconv = D1 ('MetaData "Callconv" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "CCall" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StdCall" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CApi" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Prim" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JavaScript" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: Callconv -> Rep Callconv x Source #

to :: Rep Callconv x -> Callconv Source #

Generic Clause |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Clause |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Clause = D1 ('MetaData "Clause" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Clause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))))

Methods

from :: Clause -> Rep Clause x Source #

to :: Rep Clause x -> Clause Source #

Generic Con |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Con |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Con = D1 ('MetaData "Con" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "NormalC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BangType])) :+: (C1 ('MetaCons "RecC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VarBangType])) :+: C1 ('MetaCons "InfixC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BangType) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BangType))))) :+: (C1 ('MetaCons "ForallC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr Specificity]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con))) :+: (C1 ('MetaCons "GadtC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BangType]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "RecGadtC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VarBangType]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))

Methods

from :: Con -> Rep Con x Source #

to :: Rep Con x -> Con Source #

Generic Dec |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Dec |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Dec = D1 ('MetaData "Dec" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((((C1 ('MetaCons "FunD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause])) :+: (C1 ('MetaCons "ValD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: C1 ('MetaCons "DataD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))))) :+: (C1 ('MetaCons "NewtypeD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))) :+: (C1 ('MetaCons "TypeDataD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]))) :+: C1 ('MetaCons "TySynD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))) :+: ((C1 ('MetaCons "ClassD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FunDep]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec])))) :+: (C1 ('MetaCons "InstanceD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Overlap)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: C1 ('MetaCons "SigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "KiSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "ForeignD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Foreign))) :+: (C1 ('MetaCons "InfixD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Fixity) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NamespaceSpecifier) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: C1 ('MetaCons "DefaultD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type])))))) :+: (((C1 ('MetaCons "PragmaD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pragma)) :+: (C1 ('MetaCons "DataFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)))) :+: C1 ('MetaCons "DataInstD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Con]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))))) :+: (C1 ('MetaCons "NewtypeInstD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Kind)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Con) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DerivClause])))) :+: (C1 ('MetaCons "TySynInstD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TySynEqn)) :+: C1 ('MetaCons "OpenTypeFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeFamilyHead))))) :+: ((C1 ('MetaCons "ClosedTypeFamilyD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeFamilyHead) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TySynEqn])) :+: (C1 ('MetaCons "RoleAnnotD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Role])) :+: C1 ('MetaCons "StandaloneDerivD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DerivStrategy)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: ((C1 ('MetaCons "DefaultSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "PatSynD" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynArgs)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynDir) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)))) :+: (C1 ('MetaCons "PatSynSigD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynType)) :+: C1 ('MetaCons "ImplicitParamBindD" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))))))

Methods

from :: Dec -> Rep Dec x Source #

to :: Rep Dec x -> Dec Source #

Generic DecidedStrictness |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DecidedStrictness |
Instance details Defined in Language.Haskell.TH.Syntax type Rep DecidedStrictness = D1 ('MetaData "DecidedStrictness" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: DecidedStrictness -> Rep DecidedStrictness x Source #

to :: Rep DecidedStrictness x -> DecidedStrictness Source #

Generic DerivClause |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DerivClause |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep DerivClause = D1 ('MetaData "DerivClause" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "DerivClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DerivStrategy)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt)))

Methods

from :: DerivClause -> Rep DerivClause x Source #

to :: Rep DerivClause x -> DerivClause Source #

Generic DerivStrategy |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DerivStrategy |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep DerivStrategy = D1 ('MetaData "DerivStrategy" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "StockStrategy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AnyclassStrategy" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NewtypeStrategy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ViaStrategy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Methods

from :: DerivStrategy -> Rep DerivStrategy x Source #

to :: Rep DerivStrategy x -> DerivStrategy Source #

Generic DocLoc |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DocLoc |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep DocLoc = D1 ('MetaData "DocLoc" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "ModuleDoc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeclDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "ArgDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "InstDoc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Methods

from :: DocLoc -> Rep DocLoc x Source #

to :: Rep DocLoc x -> DocLoc Source #

Generic Exp |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Exp |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Exp = D1 ('MetaData "Exp" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (((((C1 ('MetaCons "VarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ConE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "LitE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lit)) :+: C1 ('MetaCons "AppE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))) :+: ((C1 ('MetaCons "AppTypeE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "InfixE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp))))) :+: (C1 ('MetaCons "UInfixE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: C1 ('MetaCons "ParensE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))))) :+: (((C1 ('MetaCons "LamE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "LamCaseE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Match]))) :+: (C1 ('MetaCons "LamCasesE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause])) :+: C1 ('MetaCons "TupE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe Exp])))) :+: ((C1 ('MetaCons "UnboxedTupE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe Exp])) :+: C1 ('MetaCons "UnboxedSumE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumAlt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumArity)))) :+: (C1 ('MetaCons "CondE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "MultiIfE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Guard, Exp)])) :+: C1 ('MetaCons "LetE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))))))) :+: ((((C1 ('MetaCons "CaseE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Match])) :+: C1 ('MetaCons "DoE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ModName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]))) :+: (C1 ('MetaCons "MDoE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ModName)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])) :+: C1 ('MetaCons "CompE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])))) :+: ((C1 ('MetaCons "ArithSeqE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "ListE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp]))) :+: (C1 ('MetaCons "SigE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "RecConE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldExp])) :+: C1 ('MetaCons "RecUpdE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldExp])))))) :+: (((C1 ('MetaCons "StaticE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "UnboundVarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "LabelE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "ImplicitParamVarE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: ((C1 ('MetaCons "GetFieldE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "ProjectionE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty String)))) :+: (C1 ('MetaCons "TypedBracketE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "TypedSpliceE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "TypeE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))))

Methods

from :: Exp -> Rep Exp x Source #

to :: Rep Exp x -> Exp Source #

Generic FamilyResultSig |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep FamilyResultSig |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep FamilyResultSig = D1 ('MetaData "FamilyResultSig" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NoSig" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KindSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "TyVarSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TyVarBndr ())))))

Methods

from :: FamilyResultSig -> Rep FamilyResultSig x Source #

to :: Rep FamilyResultSig x -> FamilyResultSig Source #

Generic Fixity |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Fixity |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Fixity = D1 ('MetaData "Fixity" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Fixity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FixityDirection)))

Methods

from :: Fixity -> Rep Fixity x Source #

to :: Rep Fixity x -> Fixity Source #

Generic FixityDirection |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep FixityDirection |
Instance details Defined in Language.Haskell.TH.Syntax type Rep FixityDirection = D1 ('MetaData "FixityDirection" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "InfixL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InfixR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InfixN" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: FixityDirection -> Rep FixityDirection x Source #

to :: Rep FixityDirection x -> FixityDirection Source #

Generic Foreign |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Foreign |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Foreign = D1 ('MetaData "Foreign" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "ImportF" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Callconv) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Safety)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: C1 ('MetaCons "ExportF" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Callconv) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Methods

from :: Foreign -> Rep Foreign x Source #

to :: Rep Foreign x -> Foreign Source #

Generic FunDep |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep FunDep |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep FunDep = D1 ('MetaData "FunDep" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "FunDep" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))

Methods

from :: FunDep -> Rep FunDep x Source #

to :: Rep FunDep x -> FunDep Source #

Generic Guard |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Guard |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Guard = D1 ('MetaData "Guard" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NormalG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "PatG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])))

Methods

from :: Guard -> Rep Guard x Source #

to :: Rep Guard x -> Guard Source #

Generic Info |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Info |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Info = D1 ('MetaData "Info" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (((C1 ('MetaCons "ClassI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [InstanceDec])) :+: C1 ('MetaCons "ClassOpI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParentName)))) :+: (C1 ('MetaCons "TyConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec)) :+: C1 ('MetaCons "FamilyI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Dec) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [InstanceDec])))) :+: ((C1 ('MetaCons "PrimTyConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Arity) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Unlifted))) :+: C1 ('MetaCons "DataConI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParentName)))) :+: (C1 ('MetaCons "PatSynI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatSynType)) :+: (C1 ('MetaCons "VarI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Dec)))) :+: C1 ('MetaCons "TyVarI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))))

Methods

from :: Info -> Rep Info x Source #

to :: Rep Info x -> Info Source #

Generic InjectivityAnn |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep InjectivityAnn |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep InjectivityAnn = D1 ('MetaData "InjectivityAnn" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "InjectivityAnn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))

Methods

from :: InjectivityAnn -> Rep InjectivityAnn x Source #

to :: Rep InjectivityAnn x -> InjectivityAnn Source #

Generic Inline |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Inline |
Instance details Defined in Language.Haskell.TH.Syntax type Rep Inline = D1 ('MetaData "Inline" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NoInline" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Inline" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Inlinable" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Inline -> Rep Inline x Source #

to :: Rep Inline x -> Inline Source #

Generic Lit |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Lit |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Lit = D1 ('MetaData "Lit" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (((C1 ('MetaCons "CharL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: C1 ('MetaCons "StringL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "IntegerL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "RationalL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)) :+: C1 ('MetaCons "IntPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))) :+: ((C1 ('MetaCons "WordPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "FloatPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)) :+: C1 ('MetaCons "DoublePrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))) :+: (C1 ('MetaCons "StringPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Word8])) :+: (C1 ('MetaCons "BytesPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bytes)) :+: C1 ('MetaCons "CharPrimL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char))))))

Methods

from :: Lit -> Rep Lit x Source #

to :: Rep Lit x -> Lit Source #

Generic Loc |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Loc |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Loc = D1 ('MetaData "Loc" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Loc" 'PrefixI 'True) ((S1 ('MetaSel ('Just "loc_filename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "loc_package") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Just "loc_module") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "loc_start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CharPos) :*: S1 ('MetaSel ('Just "loc_end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CharPos)))))

Methods

from :: Loc -> Rep Loc x Source #

to :: Rep Loc x -> Loc Source #

Generic Match |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Match |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Match = D1 ('MetaData "Match" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Match" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Body) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))))

Methods

from :: Match -> Rep Match x Source #

to :: Rep Match x -> Match Source #

Generic ModName |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep ModName |
Instance details Defined in Language.Haskell.TH.Syntax type Rep ModName = D1 ('MetaData "ModName" "Language.Haskell.TH.Syntax" "template-haskell" 'True) (C1 ('MetaCons "ModName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: ModName -> Rep ModName x Source #

to :: Rep ModName x -> ModName Source #

Generic Module |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Module |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Module = D1 ('MetaData "Module" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Module" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PkgName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName)))

Methods

from :: Module -> Rep Module x Source #

to :: Rep Module x -> Module Source #

Generic ModuleInfo |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep ModuleInfo |
Instance details Defined in Language.Haskell.TH.Syntax type Rep ModuleInfo = D1 ('MetaData "ModuleInfo" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "ModuleInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Module])))

Methods

from :: ModuleInfo -> Rep ModuleInfo x Source #

to :: Rep ModuleInfo x -> ModuleInfo Source #

Generic Name |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Name |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Name = D1 ('MetaData "Name" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Name" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OccName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameFlavour)))

Methods

from :: Name -> Rep Name x Source #

to :: Rep Name x -> Name Source #

Generic NameFlavour |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep NameFlavour |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep NameFlavour = D1 ('MetaData "NameFlavour" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "NameS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NameQ" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName))) :+: (C1 ('MetaCons "NameU" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Uniq)) :+: (C1 ('MetaCons "NameL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Uniq)) :+: C1 ('MetaCons "NameG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameSpace) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PkgName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModName))))))

Methods

from :: NameFlavour -> Rep NameFlavour x Source #

to :: Rep NameFlavour x -> NameFlavour Source #

Generic NameSpace |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep NameSpace |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep NameSpace = D1 ('MetaData "NameSpace" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "VarName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataName" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TcClsName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FldName" 'PrefixI 'True) (S1 ('MetaSel ('Just "fldParent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String))))

Methods

from :: NameSpace -> Rep NameSpace x Source #

to :: Rep NameSpace x -> NameSpace Source #

Generic NamespaceSpecifier |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep NamespaceSpecifier |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep NamespaceSpecifier = D1 ('MetaData "NamespaceSpecifier" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NoNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TypeNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataNamespaceSpecifier" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: NamespaceSpecifier -> Rep NamespaceSpecifier x Source #

to :: Rep NamespaceSpecifier x -> NamespaceSpecifier Source #

Generic OccName |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep OccName |
Instance details Defined in Language.Haskell.TH.Syntax type Rep OccName = D1 ('MetaData "OccName" "Language.Haskell.TH.Syntax" "template-haskell" 'True) (C1 ('MetaCons "OccName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: OccName -> Rep OccName x Source #

to :: Rep OccName x -> OccName Source #

Generic Overlap |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Overlap |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Overlap = D1 ('MetaData "Overlap" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "Overlappable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Overlapping" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Overlaps" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Incoherent" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Overlap -> Rep Overlap x Source #

to :: Rep Overlap x -> Overlap Source #

Generic Pat |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Pat |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Pat = D1 ('MetaData "Pat" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((((C1 ('MetaCons "LitP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lit)) :+: C1 ('MetaCons "VarP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "TupP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat])) :+: C1 ('MetaCons "UnboxedTupP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat])))) :+: ((C1 ('MetaCons "UnboxedSumP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumAlt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumArity))) :+: C1 ('MetaCons "ConP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat])))) :+: (C1 ('MetaCons "InfixP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat))) :+: (C1 ('MetaCons "UInfixP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat))) :+: C1 ('MetaCons "ParensP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)))))) :+: (((C1 ('MetaCons "TildeP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)) :+: C1 ('MetaCons "BangP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat))) :+: (C1 ('MetaCons "AsP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)) :+: (C1 ('MetaCons "WildP" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RecP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldPat]))))) :+: ((C1 ('MetaCons "ListP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat])) :+: C1 ('MetaCons "SigP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "ViewP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat)) :+: (C1 ('MetaCons "TypeP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "InvisP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))))

Methods

from :: Pat -> Rep Pat x Source #

to :: Rep Pat x -> Pat Source #

Generic PatSynArgs |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep PatSynArgs |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep PatSynArgs = D1 ('MetaData "PatSynArgs" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "PrefixPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: (C1 ('MetaCons "InfixPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "RecordPatSyn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))))

Methods

from :: PatSynArgs -> Rep PatSynArgs x Source #

to :: Rep PatSynArgs x -> PatSynArgs Source #

Generic PatSynDir |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep PatSynDir |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep PatSynDir = D1 ('MetaData "PatSynDir" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Unidir" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ImplBidir" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExplBidir" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]))))

Methods

from :: PatSynDir -> Rep PatSynDir x Source #

to :: Rep PatSynDir x -> PatSynDir Source #

Generic Phases |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Phases |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Phases = D1 ('MetaData "Phases" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "AllPhases" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FromPhase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "BeforePhase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

Methods

from :: Phases -> Rep Phases x Source #

to :: Rep Phases x -> Phases Source #

Generic PkgName |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep PkgName |
Instance details Defined in Language.Haskell.TH.Syntax type Rep PkgName = D1 ('MetaData "PkgName" "Language.Haskell.TH.Syntax" "template-haskell" 'True) (C1 ('MetaCons "PkgName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: PkgName -> Rep PkgName x Source #

to :: Rep PkgName x -> PkgName Source #

Generic Pragma |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Pragma |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Pragma = D1 ('MetaData "Pragma" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (((C1 ('MetaCons "InlineP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Inline)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RuleMatch) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases))) :+: C1 ('MetaCons "OpaqueP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "SpecialiseP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Inline)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases))) :+: C1 ('MetaCons "SpecialiseInstP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "RuleP" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RuleBndr]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Phases)))) :+: C1 ('MetaCons "AnnP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AnnTarget) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "LineP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "CompleteP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Name))) :+: C1 ('MetaCons "SCCP" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))))))

Methods

from :: Pragma -> Rep Pragma x Source #

to :: Rep Pragma x -> Pragma Source #

Generic Range |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Range |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Range = D1 ('MetaData "Range" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "FromR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "FromThenR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp))) :+: (C1 ('MetaCons "FromToR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "FromThenToR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))))

Methods

from :: Range -> Rep Range x Source #

to :: Rep Range x -> Range Source #

Generic Role |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Role |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Role = D1 ('MetaData "Role" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "NominalR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RepresentationalR" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PhantomR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InferR" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Role -> Rep Role x Source #

to :: Rep Role x -> Role Source #

Generic RuleBndr |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep RuleBndr |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep RuleBndr = D1 ('MetaData "RuleBndr" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "RuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "TypedRuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))

Methods

from :: RuleBndr -> Rep RuleBndr x Source #

to :: Rep RuleBndr x -> RuleBndr Source #

Generic RuleMatch |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep RuleMatch |
Instance details Defined in Language.Haskell.TH.Syntax type Rep RuleMatch = D1 ('MetaData "RuleMatch" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "ConLike" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunLike" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: RuleMatch -> Rep RuleMatch x Source #

to :: Rep RuleMatch x -> RuleMatch Source #

Generic Safety |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Safety |
Instance details Defined in Language.Haskell.TH.Syntax type Rep Safety = D1 ('MetaData "Safety" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Unsafe" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Safe" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Interruptible" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Safety -> Rep Safety x Source #

to :: Rep Safety x -> Safety Source #

Generic SourceStrictness |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep SourceStrictness |
Instance details Defined in Language.Haskell.TH.Syntax type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: SourceStrictness -> Rep SourceStrictness x Source #

to :: Rep SourceStrictness x -> SourceStrictness Source #

Generic SourceUnpackedness |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep SourceUnpackedness |
Instance details Defined in Language.Haskell.TH.Syntax type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: SourceUnpackedness -> Rep SourceUnpackedness x Source #

to :: Rep SourceUnpackedness x -> SourceUnpackedness Source #

Generic Specificity |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Specificity |
Instance details Defined in Language.Haskell.TH.Syntax type Rep Specificity = D1 ('MetaData "Specificity" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "SpecifiedSpec" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InferredSpec" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Specificity -> Rep Specificity x Source #

to :: Rep Specificity x -> Specificity Source #

Generic Stmt |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Stmt |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Stmt = D1 ('MetaData "Stmt" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((C1 ('MetaCons "BindS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: C1 ('MetaCons "LetS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]))) :+: (C1 ('MetaCons "NoBindS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "ParS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [[Stmt]])) :+: C1 ('MetaCons "RecS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])))))

Methods

from :: Stmt -> Rep Stmt x Source #

to :: Rep Stmt x -> Stmt Source #

Generic TyLit |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep TyLit |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep TyLit = D1 ('MetaData "TyLit" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NumTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "StrTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "CharTyLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char))))

Methods

from :: TyLit -> Rep TyLit x Source #

to :: Rep TyLit x -> TyLit Source #

Generic TySynEqn |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep TySynEqn |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep TySynEqn = D1 ('MetaData "TySynEqn" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "TySynEqn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBndr ()])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))

Methods

from :: TySynEqn -> Rep TySynEqn x Source #

to :: Rep TySynEqn x -> TySynEqn Source #

Generic Type |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Type |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep Type = D1 ('MetaData "Type" "Language.Haskell.TH.Syntax" "template-haskell" 'False) ((((C1 ('MetaCons "ForallT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr Specificity]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: (C1 ('MetaCons "ForallVisT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr ()]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "AppT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "AppKindT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "SigT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind))) :+: (C1 ('MetaCons "VarT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "ConT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))) :+: ((C1 ('MetaCons "PromotedT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "InfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "UInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: ((C1 ('MetaCons "PromotedInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons "PromotedUInfixT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: (C1 ('MetaCons "ParensT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "TupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))) :+: (((C1 ('MetaCons "UnboxedTupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: (C1 ('MetaCons "UnboxedSumT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SumArity)) :+: C1 ('MetaCons "ArrowT" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MulArrowT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualityT" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ListT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PromotedTupleT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))) :+: ((C1 ('MetaCons "PromotedNilT" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PromotedConsT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StarT" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ConstraintT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LitT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TyLit))) :+: (C1 ('MetaCons "WildCardT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImplicitParamT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))))))

Methods

from :: Type -> Rep Type x Source #

to :: Rep Type x -> Type Source #

Generic TypeFamilyHead |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep TypeFamilyHead |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep TypeFamilyHead = D1 ('MetaData "TypeFamilyHead" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "TypeFamilyHead" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndr BndrVis])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FamilyResultSig) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe InjectivityAnn)))))

Methods

from :: TypeFamilyHead -> Rep TypeFamilyHead x Source #

to :: Rep TypeFamilyHead x -> TypeFamilyHead Source #

Generic ConstructorInfo |

Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep ConstructorInfo |

Instance details

Defined in Language.Haskell.TH.Datatype

type Rep ConstructorInfo = D1 ('MetaData "ConstructorInfo" "Language.Haskell.TH.Datatype" "th-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz" 'False) (C1 ('MetaCons "ConstructorInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "constructorName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Just "constructorVars") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndrUnit]) :*: S1 ('MetaSel ('Just "constructorContext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt))) :*: (S1 ('MetaSel ('Just "constructorFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type]) :*: (S1 ('MetaSel ('Just "constructorStrictness") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldStrictness]) :*: S1 ('MetaSel ('Just "constructorVariant") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstructorVariant)))))

Methods

from :: ConstructorInfo -> Rep ConstructorInfo x Source #

to :: Rep ConstructorInfo x -> ConstructorInfo Source #

Generic ConstructorVariant |

Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep ConstructorVariant |

Instance details

Defined in Language.Haskell.TH.Datatype

type Rep ConstructorVariant = D1 ('MetaData "ConstructorVariant" "Language.Haskell.TH.Datatype" "th-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz" 'False) (C1 ('MetaCons "NormalConstructor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InfixConstructor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RecordConstructor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]))))

Methods

from :: ConstructorVariant -> Rep ConstructorVariant x Source #

to :: Rep ConstructorVariant x -> ConstructorVariant Source #

Generic DatatypeInfo |

Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep DatatypeInfo |

Instance details

Defined in Language.Haskell.TH.Datatype

type Rep DatatypeInfo = D1 ('MetaData "DatatypeInfo" "Language.Haskell.TH.Datatype" "th-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz" 'False) (C1 ('MetaCons "DatatypeInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "datatypeContext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cxt) :*: (S1 ('MetaSel ('Just "datatypeName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Just "datatypeVars") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TyVarBndrUnit]))) :*: ((S1 ('MetaSel ('Just "datatypeInstTypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type]) :*: S1 ('MetaSel ('Just "datatypeVariant") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DatatypeVariant)) :*: (S1 ('MetaSel ('Just "datatypeReturnKind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind) :*: S1 ('MetaSel ('Just "datatypeCons") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ConstructorInfo])))))

Methods

from :: DatatypeInfo -> Rep DatatypeInfo x Source #

to :: Rep DatatypeInfo x -> DatatypeInfo Source #

Generic DatatypeVariant |

Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep DatatypeVariant |

Instance details

Defined in Language.Haskell.TH.Datatype

type Rep DatatypeVariant = D1 ('MetaData "DatatypeVariant" "Language.Haskell.TH.Datatype" "th-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz" 'False) ((C1 ('MetaCons "Datatype" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Newtype" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DataInstance" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NewtypeInstance" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TypeData" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: DatatypeVariant -> Rep DatatypeVariant x Source #

to :: Rep DatatypeVariant x -> DatatypeVariant Source #

Generic FieldStrictness |

Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep FieldStrictness |

Instance details

Defined in Language.Haskell.TH.Datatype

type Rep FieldStrictness = D1 ('MetaData "FieldStrictness" "Language.Haskell.TH.Datatype" "th-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz" 'False) (C1 ('MetaCons "FieldStrictness" 'PrefixI 'True) (S1 ('MetaSel ('Just "fieldUnpackedness") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Unpackedness) :*: S1 ('MetaSel ('Just "fieldStrictness") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Strictness)))

Methods

from :: FieldStrictness -> Rep FieldStrictness x Source #

to :: Rep FieldStrictness x -> FieldStrictness Source #

Generic Strictness |

Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep Strictness |
Instance details Defined in Language.Haskell.TH.Datatype type Rep Strictness = D1 ('MetaData "Strictness" "Language.Haskell.TH.Datatype" "th-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz" 'False) (C1 ('MetaCons "UnspecifiedStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Lazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Strict" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Strictness -> Rep Strictness x Source #

to :: Rep Strictness x -> Strictness Source #

Generic Unpackedness |

Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep Unpackedness |

Instance details

Defined in Language.Haskell.TH.Datatype

type Rep Unpackedness = D1 ('MetaData "Unpackedness" "Language.Haskell.TH.Datatype" "th-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz" 'False) (C1 ('MetaCons "UnspecifiedUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Unpack" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Unpackedness -> Rep Unpackedness x Source #

to :: Rep Unpackedness x -> Unpackedness Source #

Generic () |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep () | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep () = D1 ('MetaData "Unit" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "()" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: () -> Rep () x Source #

to :: Rep () x -> () Source #

Generic Bool |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Bool | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep Bool = D1 ('MetaData "Bool" "GHC.Types" "ghc-prim" 'False) (C1 ('MetaCons "False" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "True" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Bool -> Rep Bool x Source #

to :: Rep Bool x -> Bool Source #

Generic (Complex a) |

Instance details

Defined in Data.Complex

Associated Types

type Rep (Complex a) | Since: base-4.9.0.0
Instance details Defined in Data.Complex type Rep (Complex a) = D1 ('MetaData "Complex" "Data.Complex" "base" 'False) (C1 ('MetaCons ":+" ('InfixI 'NotAssociative 6) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))

Methods

from :: Complex a -> Rep (Complex a) x Source #

to :: Rep (Complex a) x -> Complex a Source #

Generic (First a) |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep (First a) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep (First a) = D1 ('MetaData "First" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: First a -> Rep (First a) x Source #

to :: Rep (First a) x -> First a Source #

Generic (Last a) |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Last a) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep (Last a) = D1 ('MetaData "Last" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Last a -> Rep (Last a) x Source #

to :: Rep (Last a) x -> Last a Source #

Generic (Max a) |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Max a) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep (Max a) = D1 ('MetaData "Max" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Max" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMax") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Max a -> Rep (Max a) x Source #

to :: Rep (Max a) x -> Max a Source #

Generic (Min a) |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Min a) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep (Min a) = D1 ('MetaData "Min" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Min" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Min a -> Rep (Min a) x Source #

to :: Rep (Min a) x -> Min a Source #

Generic (WrappedMonoid m) |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep (WrappedMonoid m) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep (WrappedMonoid m) = D1 ('MetaData "WrappedMonoid" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "WrapMonoid" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonoid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m)))

Methods

from :: WrappedMonoid m -> Rep (WrappedMonoid m) x Source #

to :: Rep (WrappedMonoid m) x -> WrappedMonoid m Source #

Generic (PrimitiveGuard a) Source # |

Instance details

Defined in Clash.Annotations.Primitive

Associated Types

type Rep (PrimitiveGuard a) |

Instance details

Defined in Clash.Annotations.Primitive

type Rep (PrimitiveGuard a) = D1 ('MetaData "PrimitiveGuard" "Clash.Annotations.Primitive" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "DontTranslate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HasBlackBox" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PrimitiveWarning]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: PrimitiveGuard a -> Rep (PrimitiveGuard a) x Source #

to :: Rep (PrimitiveGuard a) x -> PrimitiveGuard a Source #

Generic (Attr a) Source # |

Instance details

Defined in Clash.Annotations.SynthesisAttributes

Associated Types

type Rep (Attr a) |

Instance details

Defined in Clash.Annotations.SynthesisAttributes

type Rep (Attr a) = D1 ('MetaData "Attr" "Clash.Annotations.SynthesisAttributes" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) ((C1 ('MetaCons "BoolAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "IntegerAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))) :+: (C1 ('MetaCons "StringAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Attr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

Methods

from :: Attr a -> Rep (Attr a) x Source #

to :: Rep (Attr a) x -> Attr a Source #

Generic (SimOnly a) Source # |

Instance details

Defined in Clash.Magic

Associated Types

type Rep (SimOnly a) |
Instance details Defined in Clash.Magic type Rep (SimOnly a) = D1 ('MetaData "SimOnly" "Clash.Magic" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "SimOnly" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: SimOnly a -> Rep (SimOnly a) x Source #

to :: Rep (SimOnly a) x -> SimOnly a Source #

Generic (Overflowing a) Source # |

Instance details

Defined in Clash.Num.Overflowing

Associated Types

type Rep (Overflowing a) |

Instance details

Defined in Clash.Num.Overflowing

type Rep (Overflowing a) = D1 ('MetaData "Overflowing" "Clash.Num.Overflowing" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "Overflowing" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromOverflowing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "hasOverflowed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: Overflowing a -> Rep (Overflowing a) x Source #

to :: Rep (Overflowing a) x -> Overflowing a Source #

Generic (BitVector n) Source # |

Instance details

Defined in Clash.Sized.Internal.BitVector

Associated Types

type Rep (BitVector n) |

Instance details

Defined in Clash.Sized.Internal.BitVector

type Rep (BitVector n) = D1 ('MetaData "BitVector" "Clash.Sized.Internal.BitVector" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "BV" 'PrefixI 'True) (S1 ('MetaSel ('Just "unsafeMask") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "unsafeToNatural") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural)))

Methods

from :: BitVector n -> Rep (BitVector n) x Source #

to :: Rep (BitVector n) x -> BitVector n Source #

Generic (Index n) Source # |

Instance details

Defined in Clash.Sized.Internal.Index

Associated Types

type Rep (Index n) |
Instance details Defined in Clash.Sized.Internal.Index type Rep (Index n) = D1 ('MetaData "Index" "Clash.Sized.Internal.Index" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "I" 'PrefixI 'True) (S1 ('MetaSel ('Just "unsafeToInteger") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer)))

Methods

from :: Index n -> Rep (Index n) x Source #

to :: Rep (Index n) x -> Index n Source #

Generic (Signed n) Source # |

Instance details

Defined in Clash.Sized.Internal.Signed

Associated Types

type Rep (Signed n) |
Instance details Defined in Clash.Sized.Internal.Signed type Rep (Signed n) = D1 ('MetaData "Signed" "Clash.Sized.Internal.Signed" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "S" 'PrefixI 'True) (S1 ('MetaSel ('Just "unsafeToInteger") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer)))

Methods

from :: Signed n -> Rep (Signed n) x Source #

to :: Rep (Signed n) x -> Signed n Source #

Generic (Unsigned n) Source # |

Instance details

Defined in Clash.Sized.Internal.Unsigned

Associated Types

type Rep (Unsigned n) |
Instance details Defined in Clash.Sized.Internal.Unsigned type Rep (Unsigned n) = D1 ('MetaData "Unsigned" "Clash.Sized.Internal.Unsigned" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "U" 'PrefixI 'True) (S1 ('MetaSel ('Just "unsafeToNatural") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural)))

Methods

from :: Unsigned n -> Rep (Unsigned n) x Source #

to :: Rep (Unsigned n) x -> Unsigned n Source #

Generic (SCC vertex) |

Instance details

Defined in Data.Graph

Associated Types

type Rep (SCC vertex) | Since: containers-0.5.9

Instance details

Defined in Data.Graph

type Rep (SCC vertex) = D1 ('MetaData "SCC" "Data.Graph" "containers-0.7-inplace" 'False) (C1 ('MetaCons "AcyclicSCC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 vertex)) :+: C1 ('MetaCons "NECyclicSCC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 (NonEmpty vertex))))

Methods

from :: SCC vertex -> Rep (SCC vertex) x Source #

to :: Rep (SCC vertex) x -> SCC vertex Source #

Generic (Digit a) |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (Digit a) | Since: containers-0.6.1

Instance details

Defined in Data.Sequence.Internal

type Rep (Digit a) = D1 ('MetaData "Digit" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) ((C1 ('MetaCons "One" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Two" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: (C1 ('MetaCons "Three" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "Four" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))))

Methods

from :: Digit a -> Rep (Digit a) x Source #

to :: Rep (Digit a) x -> Digit a Source #

Generic (Elem a) |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (Elem a) | Since: containers-0.6.1
Instance details Defined in Data.Sequence.Internal type Rep (Elem a) = D1 ('MetaData "Elem" "Data.Sequence.Internal" "containers-0.7-inplace" 'True) (C1 ('MetaCons "Elem" 'PrefixI 'True) (S1 ('MetaSel ('Just "getElem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Elem a -> Rep (Elem a) x Source #

to :: Rep (Elem a) x -> Elem a Source #

Generic (FingerTree a) |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (FingerTree a) | Since: containers-0.6.1

Instance details

Defined in Data.Sequence.Internal

type Rep (FingerTree a) = D1 ('MetaData "FingerTree" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) (C1 ('MetaCons "EmptyT" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Single" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Deep" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Digit a))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FingerTree (Node a))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Digit a))))))

Methods

from :: FingerTree a -> Rep (FingerTree a) x Source #

to :: Rep (FingerTree a) x -> FingerTree a Source #

Generic (Node a) |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (Node a) | Since: containers-0.6.1

Instance details

Defined in Data.Sequence.Internal

type Rep (Node a) = D1 ('MetaData "Node" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) (C1 ('MetaCons "Node2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) :+: C1 ('MetaCons "Node3" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

Methods

from :: Node a -> Rep (Node a) x Source #

to :: Rep (Node a) x -> Node a Source #

Generic (ViewL a) |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (ViewL a) | Since: containers-0.5.8

Instance details

Defined in Data.Sequence.Internal

type Rep (ViewL a) = D1 ('MetaData "ViewL" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) (C1 ('MetaCons "EmptyL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":<" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq a))))

Methods

from :: ViewL a -> Rep (ViewL a) x Source #

to :: Rep (ViewL a) x -> ViewL a Source #

Generic (ViewR a) |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (ViewR a) | Since: containers-0.5.8

Instance details

Defined in Data.Sequence.Internal

type Rep (ViewR a) = D1 ('MetaData "ViewR" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) (C1 ('MetaCons "EmptyR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":>" ('InfixI 'LeftAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: ViewR a -> Rep (ViewR a) x Source #

to :: Rep (ViewR a) x -> ViewR a Source #

Generic (Tree a) |

Instance details

Defined in Data.Tree

Associated Types

type Rep (Tree a) | Since: containers-0.5.8
Instance details Defined in Data.Tree type Rep (Tree a) = D1 ('MetaData "Tree" "Data.Tree" "containers-0.7-inplace" 'False) (C1 ('MetaCons "Node" 'PrefixI 'True) (S1 ('MetaSel ('Just "rootLabel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "subForest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Tree a])))

Methods

from :: Tree a -> Rep (Tree a) x Source #

to :: Rep (Tree a) x -> Tree a Source #

Generic (Fix f) |

Instance details

Defined in Data.Fix

Associated Types

type Rep (Fix f) |
Instance details Defined in Data.Fix type Rep (Fix f) = D1 ('MetaData "Fix" "Data.Fix" "data-fix-0.3.4-5o9sOqSgVx07beyljXYoyb" 'True) (C1 ('MetaCons "Fix" 'PrefixI 'True) (S1 ('MetaSel ('Just "unFix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (Fix f)))))

Methods

from :: Fix f -> Rep (Fix f) x Source #

to :: Rep (Fix f) x -> Fix f Source #

Generic (NonEmpty a) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (NonEmpty a) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (NonEmpty a) = D1 ('MetaData "NonEmpty" "GHC.Internal.Base" "ghc-internal" 'False) (C1 ('MetaCons ":|" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a])))

Methods

from :: NonEmpty a -> Rep (NonEmpty a) x Source #

to :: Rep (NonEmpty a) x -> NonEmpty a Source #

Generic (Identity a) |

Instance details

Defined in GHC.Internal.Data.Functor.Identity

Associated Types

type Rep (Identity a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Functor.Identity type Rep (Identity a) = D1 ('MetaData "Identity" "GHC.Internal.Data.Functor.Identity" "ghc-internal" 'True) (C1 ('MetaCons "Identity" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Identity a -> Rep (Identity a) x Source #

to :: Rep (Identity a) x -> Identity a Source #

Generic (First a) |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep (First a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (First a) = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

Methods

from :: First a -> Rep (First a) x Source #

to :: Rep (First a) x -> First a Source #

Generic (Last a) |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep (Last a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (Last a) = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

Methods

from :: Last a -> Rep (Last a) x Source #

to :: Rep (Last a) x -> Last a Source #

Generic (Down a) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (Down a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics type Rep (Down a) = D1 ('MetaData "Down" "GHC.Internal.Data.Ord" "ghc-internal" 'True) (C1 ('MetaCons "Down" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Down a -> Rep (Down a) x Source #

to :: Rep (Down a) x -> Down a Source #

Generic (Dual a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Dual a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Dual a) = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Dual a -> Rep (Dual a) x Source #

to :: Rep (Dual a) x -> Dual a Source #

Generic (Endo a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Endo a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Endo a) = D1 ('MetaData "Endo" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Endo" 'PrefixI 'True) (S1 ('MetaSel ('Just "appEndo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> a))))

Methods

from :: Endo a -> Rep (Endo a) x Source #

to :: Rep (Endo a) x -> Endo a Source #

Generic (Product a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Product a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Product a) = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Product a -> Rep (Product a) x Source #

to :: Rep (Product a) x -> Product a Source #

Generic (Sum a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Sum a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Sum a) = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Sum a -> Rep (Sum a) x Source #

to :: Rep (Sum a) x -> Sum a Source #

Generic (ZipList a) |

Instance details

Defined in GHC.Internal.Functor.ZipList

Associated Types

type Rep (ZipList a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Functor.ZipList type Rep (ZipList a) = D1 ('MetaData "ZipList" "GHC.Internal.Functor.ZipList" "ghc-internal" 'True) (C1 ('MetaCons "ZipList" 'PrefixI 'True) (S1 ('MetaSel ('Just "getZipList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a])))

Methods

from :: ZipList a -> Rep (ZipList a) x Source #

to :: Rep (ZipList a) x -> ZipList a Source #

Generic (Par1 p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (Par1 p) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Generics type Rep (Par1 p) = D1 ('MetaData "Par1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 p)))

Methods

from :: Par1 p -> Rep (Par1 p) x Source #

to :: Rep (Par1 p) x -> Par1 p Source #

Generic (Loc a) |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep (Loc a) |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep (Loc a) = D1 ('MetaData "Loc" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Loc" 'PrefixI 'True) (S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SrcSpan) :*: S1 ('MetaSel ('Just "unLoc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Loc a -> Rep (Loc a) x Source #

to :: Rep (Loc a) x -> Loc a Source #

Generic (Activation l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Activation l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Activation l) = D1 ('MetaData "Activation" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "ActiveFrom" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "ActiveUntil" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Methods

from :: Activation l -> Rep (Activation l) x Source #

to :: Rep (Activation l) x -> Activation l Source #

Generic (Alt l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Alt l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Alt l) = D1 ('MetaData "Alt" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Alt" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rhs l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Binds l))))))

Methods

from :: Alt l -> Rep (Alt l) x Source #

to :: Rep (Alt l) x -> Alt l Source #

Generic (Annotation l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Annotation l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Annotation l) = D1 ('MetaData "Annotation" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Ann" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: (C1 ('MetaCons "TypeAnn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "ModuleAnn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))

Methods

from :: Annotation l -> Rep (Annotation l) x Source #

to :: Rep (Annotation l) x -> Annotation l Source #

Generic (Assoc l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Assoc l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Assoc l) = D1 ('MetaData "Assoc" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "AssocNone" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "AssocLeft" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "AssocRight" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: Assoc l -> Rep (Assoc l) x Source #

to :: Rep (Assoc l) x -> Assoc l Source #

Generic (Asst l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Asst l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Asst l) = D1 ('MetaData "Asst" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "TypeA" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))) :+: (C1 ('MetaCons "IParam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IPName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "ParenA" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Asst l)))))

Methods

from :: Asst l -> Rep (Asst l) x Source #

to :: Rep (Asst l) x -> Asst l Source #

Generic (BangType l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (BangType l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (BangType l) = D1 ('MetaData "BangType" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "BangedTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "LazyTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "NoStrictAnnot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: BangType l -> Rep (BangType l) x Source #

to :: Rep (BangType l) x -> BangType l Source #

Generic (Binds l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Binds l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Binds l) = D1 ('MetaData "Binds" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "BDecls" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Decl l])) :+: C1 ('MetaCons "IPBinds" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IPBind l])))

Methods

from :: Binds l -> Rep (Binds l) x Source #

to :: Rep (Binds l) x -> Binds l Source #

Generic (BooleanFormula l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (BooleanFormula l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (BooleanFormula l) = D1 ('MetaData "BooleanFormula" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "VarFormula" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "AndFormula" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BooleanFormula l]))) :+: (C1 ('MetaCons "OrFormula" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BooleanFormula l])) :+: C1 ('MetaCons "ParenFormula" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BooleanFormula l)))))

Methods

from :: BooleanFormula l -> Rep (BooleanFormula l) x Source #

to :: Rep (BooleanFormula l) x -> BooleanFormula l Source #

Generic (Bracket l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Bracket l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Bracket l) = D1 ('MetaData "Bracket" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "ExpBracket" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: C1 ('MetaCons "TExpBracket" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: (C1 ('MetaCons "PatBracket" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))) :+: (C1 ('MetaCons "TypeBracket" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))) :+: C1 ('MetaCons "DeclBracket" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Decl l])))))

Methods

from :: Bracket l -> Rep (Bracket l) x Source #

to :: Rep (Bracket l) x -> Bracket l Source #

Generic (CName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (CName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (CName l) = D1 ('MetaData "CName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "VarName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "ConName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))))

Methods

from :: CName l -> Rep (CName l) x Source #

to :: Rep (CName l) x -> CName l Source #

Generic (CallConv l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (CallConv l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (CallConv l) = D1 ('MetaData "CallConv" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (((C1 ('MetaCons "StdCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "CCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) :+: (C1 ('MetaCons "CPlusPlus" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "DotNet" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) :+: ((C1 ('MetaCons "Jvm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Js" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) :+: (C1 ('MetaCons "JavaScript" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "CApi" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))))

Methods

from :: CallConv l -> Rep (CallConv l) x Source #

to :: Rep (CallConv l) x -> CallConv l Source #

Generic (ClassDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ClassDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ClassDecl l) = D1 ('MetaData "ClassDecl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "ClsDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Decl l))) :+: C1 ('MetaCons "ClsDataFam" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ResultSig l)))))) :+: (C1 ('MetaCons "ClsTyFam" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ResultSig l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (InjectivityInfo l))))) :+: (C1 ('MetaCons "ClsTyDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TypeEqn l))) :+: C1 ('MetaCons "ClsDefSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))))))

Methods

from :: ClassDecl l -> Rep (ClassDecl l) x Source #

to :: Rep (ClassDecl l) x -> ClassDecl l Source #

Generic (ConDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ConDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ConDecl l) = D1 ('MetaData "ConDecl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "ConDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type l]))) :+: (C1 ('MetaCons "InfixConDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "RecDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldDecl l])))))

Methods

from :: ConDecl l -> Rep (ConDecl l) x Source #

to :: Rep (ConDecl l) x -> ConDecl l Source #

Generic (Context l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Context l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Context l) = D1 ('MetaData "Context" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "CxSingle" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Asst l))) :+: (C1 ('MetaCons "CxTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Asst l])) :+: C1 ('MetaCons "CxEmpty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: Context l -> Rep (Context l) x Source #

to :: Rep (Context l) x -> Context l Source #

Generic (DataOrNew l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (DataOrNew l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (DataOrNew l) = D1 ('MetaData "DataOrNew" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "DataType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "NewType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))

Methods

from :: DataOrNew l -> Rep (DataOrNew l) x Source #

to :: Rep (DataOrNew l) x -> DataOrNew l Source #

Generic (Decl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Decl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Decl l) = D1 ('MetaData "Decl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (((((C1 ('MetaCons "TypeDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "TypeFamDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ResultSig l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (InjectivityInfo l)))))) :+: (C1 ('MetaCons "ClosedTypeFamDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ResultSig l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (InjectivityInfo l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TypeEqn l])))) :+: C1 ('MetaCons "DataDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DataOrNew l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l))))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QualConDecl l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Deriving l])))))) :+: ((C1 ('MetaCons "GDataDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DataOrNew l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l))))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Kind l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GadtDecl l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Deriving l])))) :+: C1 ('MetaCons "DataFamDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ResultSig l)))))) :+: (C1 ('MetaCons "TypeInsDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "DataInsDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DataOrNew l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QualConDecl l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Deriving l]))))))) :+: (((C1 ('MetaCons "GDataInsDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DataOrNew l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Kind l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GadtDecl l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Deriving l])))) :+: C1 ('MetaCons "ClassDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FunDep l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [ClassDecl l])))))) :+: (C1 ('MetaCons "InstDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Overlap l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstRule l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [InstDecl l])))) :+: C1 ('MetaCons "DerivDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (DerivStrategy l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Overlap l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstRule l)))))) :+: ((C1 ('MetaCons "InfixDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Assoc l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Op l]))) :+: C1 ('MetaCons "DefaultDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type l]))) :+: (C1 ('MetaCons "SpliceDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: (C1 ('MetaCons "TSpliceDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: C1 ('MetaCons "TypeSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))))))) :+: ((((C1 ('MetaCons "PatSynSig" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBind l])))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBind l]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))) :+: C1 ('MetaCons "FunBind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Match l]))) :+: (C1 ('MetaCons "PatBind" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rhs l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Binds l))))) :+: C1 ('MetaCons "PatSyn" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PatternSynDirection l)))))) :+: ((C1 ('MetaCons "ForImp" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CallConv l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Safety l))))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))) :+: C1 ('MetaCons "ForExp" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CallConv l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))))) :+: (C1 ('MetaCons "RulePragmaDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Rule l])) :+: (C1 ('MetaCons "DeprPragmaDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [([Name l], String)])) :+: C1 ('MetaCons "WarnPragmaDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [([Name l], String)])))))) :+: (((C1 ('MetaCons "InlineSig" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Activation l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)))) :+: C1 ('MetaCons "InlineConlikeSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Activation l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))))) :+: (C1 ('MetaCons "SpecSig" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Activation l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type l]))) :+: C1 ('MetaCons "SpecInlineSig" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Activation l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type l])))))) :+: ((C1 ('MetaCons "InstSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstRule l))) :+: C1 ('MetaCons "AnnPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Annotation l)))) :+: (C1 ('MetaCons "MinimalPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (BooleanFormula l)))) :+: (C1 ('MetaCons "RoleAnnotDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Role l]))) :+: C1 ('MetaCons "CompletePragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (QName l)))))))))))

Methods

from :: Decl l -> Rep (Decl l) x Source #

to :: Rep (Decl l) x -> Decl l Source #

Generic (DeclHead l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (DeclHead l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (DeclHead l) = D1 ('MetaData "DeclHead" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "DHead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "DHInfix" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TyVarBind l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))))) :+: (C1 ('MetaCons "DHParen" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l))) :+: C1 ('MetaCons "DHApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DeclHead l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TyVarBind l))))))

Methods

from :: DeclHead l -> Rep (DeclHead l) x Source #

to :: Rep (DeclHead l) x -> DeclHead l Source #

Generic (DerivStrategy l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (DerivStrategy l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (DerivStrategy l) = D1 ('MetaData "DerivStrategy" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "DerivStock" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "DerivAnyclass" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) :+: (C1 ('MetaCons "DerivNewtype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "DerivVia" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))))

Methods

from :: DerivStrategy l -> Rep (DerivStrategy l) x Source #

to :: Rep (DerivStrategy l) x -> DerivStrategy l Source #

Generic (Deriving l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Deriving l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Deriving l) = D1 ('MetaData "Deriving" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Deriving" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (DerivStrategy l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [InstRule l]))))

Methods

from :: Deriving l -> Rep (Deriving l) x Source #

to :: Rep (Deriving l) x -> Deriving l Source #

Generic (EWildcard l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (EWildcard l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (EWildcard l) = D1 ('MetaData "EWildcard" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "NoWildcard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "EWildcard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Methods

from :: EWildcard l -> Rep (EWildcard l) x Source #

to :: Rep (EWildcard l) x -> EWildcard l Source #

Generic (Exp l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Exp l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Exp l) = D1 ('MetaData "Exp" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (((((C1 ('MetaCons "Var" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: (C1 ('MetaCons "OverloadedLabel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "IPVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IPName l))))) :+: ((C1 ('MetaCons "Con" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "Lit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Literal l)))) :+: (C1 ('MetaCons "InfixApp" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QOp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "App" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))))))) :+: ((C1 ('MetaCons "NegApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: (C1 ('MetaCons "Lambda" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "Let" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binds l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))) :+: ((C1 ('MetaCons "If" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "MultiIf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GuardedRhs l]))) :+: (C1 ('MetaCons "Case" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Alt l]))) :+: C1 ('MetaCons "Do" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt l])))))) :+: (((C1 ('MetaCons "MDo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt l])) :+: (C1 ('MetaCons "Tuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Boxed) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp l]))) :+: C1 ('MetaCons "UnboxedSum" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))) :+: ((C1 ('MetaCons "TupleSection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Boxed) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe (Exp l)]))) :+: C1 ('MetaCons "List" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp l]))) :+: (C1 ('MetaCons "ParArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp l])) :+: C1 ('MetaCons "Paren" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))) :+: ((C1 ('MetaCons "LeftSection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QOp l)))) :+: (C1 ('MetaCons "RightSection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QOp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "RecConstr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldUpdate l]))))) :+: ((C1 ('MetaCons "RecUpdate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldUpdate l]))) :+: C1 ('MetaCons "EnumFrom" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: (C1 ('MetaCons "EnumFromTo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "EnumFromThen" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))))))))) :+: ((((C1 ('MetaCons "EnumFromThenTo" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: (C1 ('MetaCons "ParArrayFromTo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "ParArrayFromThenTo" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))) :+: ((C1 ('MetaCons "ListComp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QualStmt l]))) :+: C1 ('MetaCons "ParComp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [[QualStmt l]])))) :+: (C1 ('MetaCons "ParArrayComp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [[QualStmt l]]))) :+: C1 ('MetaCons "ExpTypeSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))))) :+: ((C1 ('MetaCons "VarQuote" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: (C1 ('MetaCons "TypQuote" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "BracketExp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Bracket l))))) :+: ((C1 ('MetaCons "SpliceExp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Splice l))) :+: C1 ('MetaCons "QuasiQuote" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons "TypeApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))) :+: C1 ('MetaCons "XTag" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [XAttr l]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Exp l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp l])))))))) :+: (((C1 ('MetaCons "XETag" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [XAttr l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Exp l))))) :+: (C1 ('MetaCons "XPcdata" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "XExpTag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))))) :+: ((C1 ('MetaCons "XChildTag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp l])) :+: C1 ('MetaCons "CorePragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))))) :+: (C1 ('MetaCons "SCCPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "GenPragma" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))))) :+: ((C1 ('MetaCons "Proc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: (C1 ('MetaCons "LeftArrApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "RightArrApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))) :+: ((C1 ('MetaCons "LeftArrHighApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "RightArrHighApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))))) :+: (C1 ('MetaCons "ArrOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: C1 ('MetaCons "LCase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Alt l]))))))))

Methods

from :: Exp l -> Rep (Exp l) x Source #

to :: Rep (Exp l) x -> Exp l Source #

Generic (ExportSpec l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ExportSpec l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ExportSpec l) = D1 ('MetaData "ExportSpec" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "EVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "EAbs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Namespace l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))))) :+: (C1 ('MetaCons "EThingWith" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (EWildcard l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CName l]))) :+: C1 ('MetaCons "EModuleContents" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ModuleName l)))))

Methods

from :: ExportSpec l -> Rep (ExportSpec l) x Source #

to :: Rep (ExportSpec l) x -> ExportSpec l Source #

Generic (ExportSpecList l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ExportSpecList l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ExportSpecList l) = D1 ('MetaData "ExportSpecList" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "ExportSpecList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ExportSpec l])))

Methods

from :: ExportSpecList l -> Rep (ExportSpecList l) x Source #

to :: Rep (ExportSpecList l) x -> ExportSpecList l Source #

Generic (FieldDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (FieldDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (FieldDecl l) = D1 ('MetaData "FieldDecl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "FieldDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))))

Methods

from :: FieldDecl l -> Rep (FieldDecl l) x Source #

to :: Rep (FieldDecl l) x -> FieldDecl l Source #

Generic (FieldUpdate l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (FieldUpdate l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (FieldUpdate l) = D1 ('MetaData "FieldUpdate" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "FieldUpdate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: (C1 ('MetaCons "FieldPun" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "FieldWildcard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: FieldUpdate l -> Rep (FieldUpdate l) x Source #

to :: Rep (FieldUpdate l) x -> FieldUpdate l Source #

Generic (FunDep l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (FunDep l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (FunDep l) = D1 ('MetaData "FunDep" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "FunDep" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]))))

Methods

from :: FunDep l -> Rep (FunDep l) x Source #

to :: Rep (FunDep l) x -> FunDep l Source #

Generic (GadtDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (GadtDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (GadtDecl l) = D1 ('MetaData "GadtDecl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "GadtDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBind l])))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [FieldDecl l])) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))))

Methods

from :: GadtDecl l -> Rep (GadtDecl l) x Source #

to :: Rep (GadtDecl l) x -> GadtDecl l Source #

Generic (GuardedRhs l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (GuardedRhs l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (GuardedRhs l) = D1 ('MetaData "GuardedRhs" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "GuardedRhs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))

Methods

from :: GuardedRhs l -> Rep (GuardedRhs l) x Source #

to :: Rep (GuardedRhs l) x -> GuardedRhs l Source #

Generic (IPBind l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (IPBind l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (IPBind l) = D1 ('MetaData "IPBind" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "IPBind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IPName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))

Methods

from :: IPBind l -> Rep (IPBind l) x Source #

to :: Rep (IPBind l) x -> IPBind l Source #

Generic (IPName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (IPName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (IPName l) = D1 ('MetaData "IPName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "IPDup" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "IPLin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: IPName l -> Rep (IPName l) x Source #

to :: Rep (IPName l) x -> IPName l Source #

Generic (ImportDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ImportDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ImportDecl l) = D1 ('MetaData "ImportDecl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "ImportDecl" 'PrefixI 'True) (((S1 ('MetaSel ('Just "importAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Just "importModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ModuleName l))) :*: (S1 ('MetaSel ('Just "importQualified") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "importSrc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "importSafe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "importPkg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))) :*: (S1 ('MetaSel ('Just "importAs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ModuleName l))) :*: S1 ('MetaSel ('Just "importSpecs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ImportSpecList l)))))))

Methods

from :: ImportDecl l -> Rep (ImportDecl l) x Source #

to :: Rep (ImportDecl l) x -> ImportDecl l Source #

Generic (ImportSpec l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ImportSpec l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ImportSpec l) = D1 ('MetaData "ImportSpec" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "IVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "IAbs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Namespace l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))))) :+: (C1 ('MetaCons "IThingAll" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "IThingWith" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CName l])))))

Methods

from :: ImportSpec l -> Rep (ImportSpec l) x Source #

to :: Rep (ImportSpec l) x -> ImportSpec l Source #

Generic (ImportSpecList l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ImportSpecList l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ImportSpecList l) = D1 ('MetaData "ImportSpecList" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "ImportSpecList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ImportSpec l]))))

Methods

from :: ImportSpecList l -> Rep (ImportSpecList l) x Source #

to :: Rep (ImportSpecList l) x -> ImportSpecList l Source #

Generic (InjectivityInfo l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (InjectivityInfo l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (InjectivityInfo l) = D1 ('MetaData "InjectivityInfo" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "InjectivityInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]))))

Methods

from :: InjectivityInfo l -> Rep (InjectivityInfo l) x Source #

to :: Rep (InjectivityInfo l) x -> InjectivityInfo l Source #

Generic (InstDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (InstDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (InstDecl l) = D1 ('MetaData "InstDecl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "InsDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Decl l))) :+: C1 ('MetaCons "InsType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))) :+: (C1 ('MetaCons "InsData" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DataOrNew l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QualConDecl l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Deriving l])))) :+: C1 ('MetaCons "InsGData" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DataOrNew l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Kind l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GadtDecl l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Deriving l]))))))

Methods

from :: InstDecl l -> Rep (InstDecl l) x Source #

to :: Rep (InstDecl l) x -> InstDecl l Source #

Generic (InstHead l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (InstHead l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (InstHead l) = D1 ('MetaData "InstHead" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "IHCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "IHInfix" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))))) :+: (C1 ('MetaCons "IHParen" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstHead l))) :+: C1 ('MetaCons "IHApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstHead l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))))

Methods

from :: InstHead l -> Rep (InstHead l) x Source #

to :: Rep (InstHead l) x -> InstHead l Source #

Generic (InstRule l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (InstRule l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (InstRule l) = D1 ('MetaData "InstRule" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "IRule" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBind l]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstHead l)))) :+: C1 ('MetaCons "IParen" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstRule l))))

Methods

from :: InstRule l -> Rep (InstRule l) x Source #

to :: Rep (InstRule l) x -> InstRule l Source #

Generic (Literal l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Literal l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Literal l) = D1 ('MetaData "Literal" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (((C1 ('MetaCons "Char" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "String" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons "Int" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "Frac" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "PrimInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))))) :+: ((C1 ('MetaCons "PrimWord" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "PrimFloat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons "PrimDouble" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "PrimChar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "PrimString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))))))

Methods

from :: Literal l -> Rep (Literal l) x Source #

to :: Rep (Literal l) x -> Literal l Source #

Generic (Match l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Match l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Match l) = D1 ('MetaData "Match" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Match" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat l]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rhs l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Binds l)))))) :+: C1 ('MetaCons "InfixMatch" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat l]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rhs l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Binds l)))))))

Methods

from :: Match l -> Rep (Match l) x Source #

to :: Rep (Match l) x -> Match l Source #

Generic (MaybePromotedName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (MaybePromotedName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (MaybePromotedName l) = D1 ('MetaData "MaybePromotedName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "PromotedName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "UnpromotedName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))))

Methods

from :: MaybePromotedName l -> Rep (MaybePromotedName l) x Source #

to :: Rep (MaybePromotedName l) x -> MaybePromotedName l Source #

Generic (Module l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Module l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Module l) = D1 ('MetaData "Module" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Module" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ModuleHead l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ModulePragma l]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ImportDecl l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Decl l])))) :+: (C1 ('MetaCons "XmlPage" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ModuleName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ModulePragma l]))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [XAttr l])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Exp l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp l])))) :+: C1 ('MetaCons "XmlHybrid" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ModuleHead l)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ModulePragma l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ImportDecl l]))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Decl l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [XAttr l]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Exp l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp l])))))))

Methods

from :: Module l -> Rep (Module l) x Source #

to :: Rep (Module l) x -> Module l Source #

Generic (ModuleHead l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ModuleHead l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ModuleHead l) = D1 ('MetaData "ModuleHead" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "ModuleHead" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ModuleName l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (WarningText l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (ExportSpecList l))))))

Methods

from :: ModuleHead l -> Rep (ModuleHead l) x Source #

to :: Rep (ModuleHead l) x -> ModuleHead l Source #

Generic (ModuleName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ModuleName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ModuleName l) = D1 ('MetaData "ModuleName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "ModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: ModuleName l -> Rep (ModuleName l) x Source #

to :: Rep (ModuleName l) x -> ModuleName l Source #

Generic (ModulePragma l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ModulePragma l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ModulePragma l) = D1 ('MetaData "ModulePragma" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "LanguagePragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l])) :+: (C1 ('MetaCons "OptionsPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Tool)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "AnnModulePragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Annotation l)))))

Methods

from :: ModulePragma l -> Rep (ModulePragma l) x Source #

to :: Rep (ModulePragma l) x -> ModulePragma l Source #

Generic (Name l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Name l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Name l) = D1 ('MetaData "Name" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Ident" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "Symbol" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: Name l -> Rep (Name l) x Source #

to :: Rep (Name l) x -> Name l Source #

Generic (Namespace l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Namespace l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Namespace l) = D1 ('MetaData "Namespace" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "NoNamespace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "TypeNamespace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "PatternNamespace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: Namespace l -> Rep (Namespace l) x Source #

to :: Rep (Namespace l) x -> Namespace l Source #

Generic (Op l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Op l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Op l) = D1 ('MetaData "Op" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "VarOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "ConOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))))

Methods

from :: Op l -> Rep (Op l) x Source #

to :: Rep (Op l) x -> Op l Source #

Generic (Overlap l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Overlap l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Overlap l) = D1 ('MetaData "Overlap" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "NoOverlap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "Overlap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Overlapping" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) :+: (C1 ('MetaCons "Overlaps" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "Overlappable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Incoherent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))))

Methods

from :: Overlap l -> Rep (Overlap l) x Source #

to :: Rep (Overlap l) x -> Overlap l Source #

Generic (PXAttr l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (PXAttr l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (PXAttr l) = D1 ('MetaData "PXAttr" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "PXAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)))))

Methods

from :: PXAttr l -> Rep (PXAttr l) x Source #

to :: Rep (PXAttr l) x -> PXAttr l Source #

Generic (Pat l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Pat l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Pat l) = D1 ('MetaData "Pat" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((((C1 ('MetaCons "PVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: (C1 ('MetaCons "PLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Sign l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Literal l)))) :+: C1 ('MetaCons "PNPlusK" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))) :+: (C1 ('MetaCons "PInfixApp" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)))) :+: (C1 ('MetaCons "PApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat l]))) :+: C1 ('MetaCons "PTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Boxed) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat l])))))) :+: ((C1 ('MetaCons "PUnboxedSum" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)))) :+: (C1 ('MetaCons "PList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat l])) :+: C1 ('MetaCons "PParen" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))))) :+: (C1 ('MetaCons "PRec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PatField l]))) :+: (C1 ('MetaCons "PAsPat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)))) :+: C1 ('MetaCons "PWildCard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))))) :+: (((C1 ('MetaCons "PIrrPat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))) :+: (C1 ('MetaCons "PatTypeSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "PViewPat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)))))) :+: (C1 ('MetaCons "PRPat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RPat l])) :+: (C1 ('MetaCons "PXTag" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PXAttr l]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Pat l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pat l])))) :+: C1 ('MetaCons "PXETag" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PXAttr l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Pat l)))))))) :+: ((C1 ('MetaCons "PXPcdata" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "PXPatTag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))) :+: C1 ('MetaCons "PXRPats" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RPat l])))) :+: (C1 ('MetaCons "PSplice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Splice l))) :+: (C1 ('MetaCons "PQuasiQuote" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "PBangPat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))))))))

Methods

from :: Pat l -> Rep (Pat l) x Source #

to :: Rep (Pat l) x -> Pat l Source #

Generic (PatField l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (PatField l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (PatField l) = D1 ('MetaData "PatField" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "PFieldPat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)))) :+: (C1 ('MetaCons "PFieldPun" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "PFieldWildcard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: PatField l -> Rep (PatField l) x Source #

to :: Rep (PatField l) x -> PatField l Source #

Generic (PatternSynDirection l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (PatternSynDirection l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (PatternSynDirection l) = D1 ('MetaData "PatternSynDirection" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Unidirectional" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ImplicitBidirectional" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExplicitBidirectional" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Decl l]))))

Methods

from :: PatternSynDirection l -> Rep (PatternSynDirection l) x Source #

to :: Rep (PatternSynDirection l) x -> PatternSynDirection l Source #

Generic (Promoted l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Promoted l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Promoted l) = D1 ('MetaData "Promoted" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "PromotedInteger" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "PromotedString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "PromotedCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)))))) :+: (C1 ('MetaCons "PromotedList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type l]))) :+: (C1 ('MetaCons "PromotedTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type l])) :+: C1 ('MetaCons "PromotedUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))))

Methods

from :: Promoted l -> Rep (Promoted l) x Source #

to :: Rep (Promoted l) x -> Promoted l Source #

Generic (QName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (QName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (QName l) = D1 ('MetaData "QName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Qual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ModuleName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)))) :+: (C1 ('MetaCons "UnQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "Special" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SpecialCon l)))))

Methods

from :: QName l -> Rep (QName l) x Source #

to :: Rep (QName l) x -> QName l Source #

Generic (QOp l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (QOp l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (QOp l) = D1 ('MetaData "QOp" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "QVarOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "QConOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))))

Methods

from :: QOp l -> Rep (QOp l) x Source #

to :: Rep (QOp l) x -> QOp l Source #

Generic (QualConDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (QualConDecl l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (QualConDecl l) = D1 ('MetaData "QualConDecl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "QualConDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBind l]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConDecl l)))))

Methods

from :: QualConDecl l -> Rep (QualConDecl l) x Source #

to :: Rep (QualConDecl l) x -> QualConDecl l Source #

Generic (QualStmt l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (QualStmt l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (QualStmt l) = D1 ('MetaData "QualStmt" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "QualStmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Stmt l))) :+: (C1 ('MetaCons "ThenTrans" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: C1 ('MetaCons "ThenBy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))) :+: (C1 ('MetaCons "GroupBy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: (C1 ('MetaCons "GroupUsing" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: C1 ('MetaCons "GroupByUsing" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))))

Methods

from :: QualStmt l -> Rep (QualStmt l) x Source #

to :: Rep (QualStmt l) x -> QualStmt l Source #

Generic (RPat l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (RPat l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (RPat l) = D1 ('MetaData "RPat" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (((C1 ('MetaCons "RPOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RPat l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RPatOp l)))) :+: C1 ('MetaCons "RPEither" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RPat l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RPat l))))) :+: (C1 ('MetaCons "RPSeq" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RPat l])) :+: C1 ('MetaCons "RPGuard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt l]))))) :+: ((C1 ('MetaCons "RPCAs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RPat l)))) :+: C1 ('MetaCons "RPAs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RPat l))))) :+: (C1 ('MetaCons "RPParen" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RPat l))) :+: C1 ('MetaCons "RPPat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))))))

Methods

from :: RPat l -> Rep (RPat l) x Source #

to :: Rep (RPat l) x -> RPat l Source #

Generic (RPatOp l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (RPatOp l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (RPatOp l) = D1 ('MetaData "RPatOp" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "RPStar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "RPStarG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "RPPlus" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) :+: (C1 ('MetaCons "RPPlusG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "RPOpt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "RPOptG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))))

Methods

from :: RPatOp l -> Rep (RPatOp l) x Source #

to :: Rep (RPatOp l) x -> RPatOp l Source #

Generic (ResultSig l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (ResultSig l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (ResultSig l) = D1 ('MetaData "ResultSig" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "KindSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Kind l))) :+: C1 ('MetaCons "TyVarSig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TyVarBind l))))

Methods

from :: ResultSig l -> Rep (ResultSig l) x Source #

to :: Rep (ResultSig l) x -> ResultSig l Source #

Generic (Rhs l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Rhs l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Rhs l) = D1 ('MetaData "Rhs" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "UnGuardedRhs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: C1 ('MetaCons "GuardedRhss" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GuardedRhs l])))

Methods

from :: Rhs l -> Rep (Rhs l) x Source #

to :: Rep (Rhs l) x -> Rhs l Source #

Generic (Role l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Role l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Role l) = D1 ('MetaData "Role" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "Nominal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Representational" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) :+: (C1 ('MetaCons "Phantom" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "RoleWildcard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: Role l -> Rep (Role l) x Source #

to :: Rep (Role l) x -> Role l Source #

Generic (Rule l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Rule l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Rule l) = D1 ('MetaData "Rule" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Rule" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Activation l))))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [RuleVar l])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))))))

Methods

from :: Rule l -> Rep (Rule l) x Source #

to :: Rep (Rule l) x -> Rule l Source #

Generic (RuleVar l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (RuleVar l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (RuleVar l) = D1 ('MetaData "RuleVar" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "RuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "TypedRuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))))

Methods

from :: RuleVar l -> Rep (RuleVar l) x Source #

to :: Rep (RuleVar l) x -> RuleVar l Source #

Generic (Safety l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Safety l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Safety l) = D1 ('MetaData "Safety" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "PlayRisky" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "PlaySafe" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "PlayInterruptible" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: Safety l -> Rep (Safety l) x Source #

to :: Rep (Safety l) x -> Safety l Source #

Generic (Sign l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Sign l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Sign l) = D1 ('MetaData "Sign" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Signless" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Negative" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))

Methods

from :: Sign l -> Rep (Sign l) x Source #

to :: Rep (Sign l) x -> Sign l Source #

Generic (SpecialCon l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (SpecialCon l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (SpecialCon l) = D1 ('MetaData "SpecialCon" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "UnitCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "ListCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "FunCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) :+: ((C1 ('MetaCons "TupleCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Boxed) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :+: C1 ('MetaCons "Cons" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) :+: (C1 ('MetaCons "UnboxedSingleCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "ExprHole" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))))

Methods

from :: SpecialCon l -> Rep (SpecialCon l) x Source #

to :: Rep (SpecialCon l) x -> SpecialCon l Source #

Generic (Splice l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Splice l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Splice l) = D1 ('MetaData "Splice" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "IdSplice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "TIdSplice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "ParenSplice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: C1 ('MetaCons "TParenSplice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))

Methods

from :: Splice l -> Rep (Splice l) x Source #

to :: Rep (Splice l) x -> Splice l Source #

Generic (Stmt l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Stmt l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Stmt l) = D1 ('MetaData "Stmt" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((C1 ('MetaCons "Generator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: C1 ('MetaCons "Qualifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))) :+: (C1 ('MetaCons "LetStmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binds l))) :+: C1 ('MetaCons "RecStmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt l]))))

Methods

from :: Stmt l -> Rep (Stmt l) x Source #

to :: Rep (Stmt l) x -> Stmt l Source #

Generic (TyVarBind l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (TyVarBind l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (TyVarBind l) = D1 ('MetaData "TyVarBind" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "KindedVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Kind l)))) :+: C1 ('MetaCons "UnkindedVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))))

Methods

from :: TyVarBind l -> Rep (TyVarBind l) x Source #

to :: Rep (TyVarBind l) x -> TyVarBind l Source #

Generic (Type l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Type l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Type l) = D1 ('MetaData "Type" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) ((((C1 ('MetaCons "TyForall" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [TyVarBind l]))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Context l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "TyStar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) :+: (C1 ('MetaCons "TyFun" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "TyTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Boxed) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type l]))))) :+: ((C1 ('MetaCons "TyUnboxedSum" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Type l])) :+: C1 ('MetaCons "TyList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: (C1 ('MetaCons "TyParArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))) :+: (C1 ('MetaCons "TyApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "TyVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))))))) :+: (((C1 ('MetaCons "TyCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "TyParen" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: (C1 ('MetaCons "TyInfix" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MaybePromotedName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: (C1 ('MetaCons "TyKind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Kind l)))) :+: C1 ('MetaCons "TyPromoted" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Promoted l)))))) :+: ((C1 ('MetaCons "TyEquals" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "TySplice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Splice l)))) :+: (C1 ('MetaCons "TyBang" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BangType l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Unpackedness l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: (C1 ('MetaCons "TyWildCard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Name l)))) :+: C1 ('MetaCons "TyQuasiQuote" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))))))

Methods

from :: Type l -> Rep (Type l) x Source #

to :: Rep (Type l) x -> Type l Source #

Generic (TypeEqn l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (TypeEqn l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (TypeEqn l) = D1 ('MetaData "TypeEqn" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "TypeEqn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))))

Methods

from :: TypeEqn l -> Rep (TypeEqn l) x Source #

to :: Rep (TypeEqn l) x -> TypeEqn l Source #

Generic (Unpackedness l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (Unpackedness l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (Unpackedness l) = D1 ('MetaData "Unpackedness" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Unpack" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "NoUnpack" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "NoUnpackPragma" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))

Methods

from :: Unpackedness l -> Rep (Unpackedness l) x Source #

to :: Rep (Unpackedness l) x -> Unpackedness l Source #

Generic (WarningText l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (WarningText l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (WarningText l) = D1 ('MetaData "WarningText" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "DeprText" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "WarnText" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: WarningText l -> Rep (WarningText l) x Source #

to :: Rep (WarningText l) x -> WarningText l Source #

Generic (XAttr l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (XAttr l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (XAttr l) = D1 ('MetaData "XAttr" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "XAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))

Methods

from :: XAttr l -> Rep (XAttr l) x Source #

to :: Rep (XAttr l) x -> XAttr l Source #

Generic (XName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

Associated Types

type Rep (XName l) |

Instance details

Defined in Language.Haskell.Exts.Syntax

type Rep (XName l) = D1 ('MetaData "XName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "XName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "XDomName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

Methods

from :: XName l -> Rep (XName l) x Source #

to :: Rep (XName l) x -> XName l Source #

Generic (Doc a) |

Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep (Doc a) |

Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

type Rep (Doc a) = D1 ('MetaData "Doc" "Text.PrettyPrint.Annotated.HughesPJ" "pretty-1.1.3.6-inplace" 'False) (((C1 ('MetaCons "Empty" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NilAbove" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a)))) :+: (C1 ('MetaCons "TextBeside" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (AnnotDetails a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a))) :+: C1 ('MetaCons "Nest" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a))))) :+: ((C1 ('MetaCons "Union" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a))) :+: C1 ('MetaCons "NoDoc" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Beside" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a)))) :+: C1 ('MetaCons "Above" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Doc a)))))))

Methods

from :: Doc a -> Rep (Doc a) x Source #

to :: Rep (Doc a) x -> Doc a Source #

Generic (Maybe a) |

Instance details

Defined in Data.Strict.Maybe

Associated Types

type Rep (Maybe a) |
Instance details Defined in Data.Strict.Maybe type Rep (Maybe a) = D1 ('MetaData "Maybe" "Data.Strict.Maybe" "strict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b" 'False) (C1 ('MetaCons "Nothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Just" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))

Methods

from :: Maybe a -> Rep (Maybe a) x Source #

to :: Rep (Maybe a) x -> Maybe a Source #

Generic (TyVarBndr flag) |

Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep (TyVarBndr flag) |

Instance details

Defined in Language.Haskell.TH.Syntax

type Rep (TyVarBndr flag) = D1 ('MetaData "TyVarBndr" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "PlainTV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 flag)) :+: C1 ('MetaCons "KindedTV" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 flag) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind))))

Methods

from :: TyVarBndr flag -> Rep (TyVarBndr flag) x Source #

to :: Rep (TyVarBndr flag) x -> TyVarBndr flag Source #

Generic (Maybe a) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (Maybe a) | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep (Maybe a) = D1 ('MetaData "Maybe" "GHC.Internal.Maybe" "ghc-internal" 'False) (C1 ('MetaCons "Nothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Just" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Maybe a -> Rep (Maybe a) x Source #

to :: Rep (Maybe a) x -> Maybe a Source #

Generic (Solo a) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (Solo a) | Since: base-4.15
Instance details Defined in GHC.Internal.Generics type Rep (Solo a) = D1 ('MetaData "Solo" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "MkSolo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Solo a -> Rep (Solo a) x Source #

to :: Rep (Solo a) x -> Solo a Source #

Generic [a] |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep [a] | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep [a] = D1 ('MetaData "List" "GHC.Types" "ghc-prim" 'False) (C1 ('MetaCons "[]" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a])))

Methods

from :: [a] -> Rep [a] x Source #

to :: Rep [a] x -> [a] Source #

Generic (WrappedMonad m a) |

Instance details

Defined in Control.Applicative

Associated Types

type Rep (WrappedMonad m a) | Since: base-4.7.0.0
Instance details Defined in Control.Applicative type Rep (WrappedMonad m a) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m a))))

Methods

from :: WrappedMonad m a -> Rep (WrappedMonad m a) x Source #

to :: Rep (WrappedMonad m a) x -> WrappedMonad m a Source #

Generic (Arg a b) |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Arg a b) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep (Arg a b) = D1 ('MetaData "Arg" "Data.Semigroup" "base" 'False) (C1 ('MetaCons "Arg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))

Methods

from :: Arg a b -> Rep (Arg a b) x Source #

to :: Rep (Arg a b) x -> Arg a b Source #

Generic (RamOp n a) Source # |

Instance details

Defined in Clash.Explicit.BlockRam

Associated Types

type Rep (RamOp n a) |

Instance details

Defined in Clash.Explicit.BlockRam

type Rep (RamOp n a) = D1 ('MetaData "RamOp" "Clash.Explicit.BlockRam" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "RamRead" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Index n))) :+: (C1 ('MetaCons "RamWrite" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Index n)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "RamNoOp" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: RamOp n a -> Rep (RamOp n a) x Source #

to :: Rep (RamOp n a) x -> RamOp n a Source #

KnownNat n => Generic (Vec n a) Source # | In many cases, this Generic instance only allows generic functions/instances over vectors of at least size 1, due to the n-1 in the Rep (Vec n a) definition. We'll have to wait for things like https://ryanglscott.github.io/2018/02/11/how-to-derive-generic-for-some-gadts/ before we can work around this limitation

Instance details

Defined in Clash.Sized.Vector

Associated Types

type Rep (Vec n a) |

Instance details

Defined in Clash.Sized.Vector

type Rep (Vec n a) = D1 ('MetaData "Vec" "Clash.Data.Vector" "clash-prelude" 'False) (C1 ('MetaCons "Nil" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cons" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vec (n - 1) a))))

Methods

from :: Vec n a -> Rep (Vec n a) x Source #

to :: Rep (Vec n a) x -> Vec n a Source #

Generic (Cofree f a) |

Instance details

Defined in Control.Comonad.Cofree

Associated Types

type Rep (Cofree f a) |

Instance details

Defined in Control.Comonad.Cofree

type Rep (Cofree f a) = D1 ('MetaData "Cofree" "Control.Comonad.Cofree" "free-5.2-BHdQZ57GKqJG8sSoZ4qt27" 'False) (C1 ('MetaCons ":<" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (Cofree f a)))))

Methods

from :: Cofree f a -> Rep (Cofree f a) x Source #

to :: Rep (Cofree f a) x -> Cofree f a Source #

Generic (Free f a) |

Instance details

Defined in Control.Monad.Free

Associated Types

type Rep (Free f a) |

Instance details

Defined in Control.Monad.Free

type Rep (Free f a) = D1 ('MetaData "Free" "Control.Monad.Free" "free-5.2-BHdQZ57GKqJG8sSoZ4qt27" 'False) (C1 ('MetaCons "Pure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Free" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (Free f a)))))

Methods

from :: Free f a -> Rep (Free f a) x Source #

to :: Rep (Free f a) x -> Free f a Source #

Generic (Either a b) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (Either a b) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (Either a b) = D1 ('MetaData "Either" "GHC.Internal.Data.Either" "ghc-internal" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))

Methods

from :: Either a b -> Rep (Either a b) x Source #

to :: Rep (Either a b) x -> Either a b Source #

Generic (Proxy t) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (Proxy t) | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep (Proxy t) = D1 ('MetaData "Proxy" "GHC.Internal.Data.Proxy" "ghc-internal" 'False) (C1 ('MetaCons "Proxy" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Proxy t -> Rep (Proxy t) x Source #

to :: Rep (Proxy t) x -> Proxy t Source #

Generic (U1 p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (U1 p) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Generics type Rep (U1 p) = D1 ('MetaData "U1" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "U1" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: U1 p -> Rep (U1 p) x Source #

to :: Rep (U1 p) x -> U1 p Source #

Generic (V1 p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (V1 p) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep (V1 p) = D1 ('MetaData "V1" "GHC.Internal.Generics" "ghc-internal" 'False) (V1 :: Type -> Type)

Methods

from :: V1 p -> Rep (V1 p) x Source #

to :: Rep (V1 p) x -> V1 p Source #

Generic (ListF a b) |

Instance details

Defined in Data.Functor.Base

Associated Types

type Rep (ListF a b) |

Instance details

Defined in Data.Functor.Base

type Rep (ListF a b) = D1 ('MetaData "ListF" "Data.Functor.Base" "recursion-schemes-5.2.3-K3D9dDpBcte1cy2ppH5E3C" 'False) (C1 ('MetaCons "Nil" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cons" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))

Methods

from :: ListF a b -> Rep (ListF a b) x Source #

to :: Rep (ListF a b) x -> ListF a b Source #

Generic (NonEmptyF a b) |

Instance details

Defined in Data.Functor.Base

Associated Types

type Rep (NonEmptyF a b) |

Instance details

Defined in Data.Functor.Base

type Rep (NonEmptyF a b) = D1 ('MetaData "NonEmptyF" "Data.Functor.Base" "recursion-schemes-5.2.3-K3D9dDpBcte1cy2ppH5E3C" 'False) (C1 ('MetaCons "NonEmptyF" 'PrefixI 'True) (S1 ('MetaSel ('Just "head") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "tail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe b))))

Methods

from :: NonEmptyF a b -> Rep (NonEmptyF a b) x Source #

to :: Rep (NonEmptyF a b) x -> NonEmptyF a b Source #

Generic (TreeF a b) |

Instance details

Defined in Data.Functor.Base

Associated Types

type Rep (TreeF a b) |

Instance details

Defined in Data.Functor.Base

type Rep (TreeF a b) = D1 ('MetaData "TreeF" "Data.Functor.Base" "recursion-schemes-5.2.3-K3D9dDpBcte1cy2ppH5E3C" 'False) (C1 ('MetaCons "NodeF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ForestF a b))))

Methods

from :: TreeF a b -> Rep (TreeF a b) x Source #

to :: Rep (TreeF a b) x -> TreeF a b Source #

Generic (Either a b) |

Instance details

Defined in Data.Strict.Either

Associated Types

type Rep (Either a b) |

Instance details

Defined in Data.Strict.Either

type Rep (Either a b) = D1 ('MetaData "Either" "Data.Strict.Either" "strict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)))

Methods

from :: Either a b -> Rep (Either a b) x Source #

to :: Rep (Either a b) x -> Either a b Source #

Generic (These a b) |

Instance details

Defined in Data.Strict.These

Associated Types

type Rep (These a b) |

Instance details

Defined in Data.Strict.These

type Rep (These a b) = D1 ('MetaData "These" "Data.Strict.These" "strict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b" 'False) (C1 ('MetaCons "This" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :+: (C1 ('MetaCons "That" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)) :+: C1 ('MetaCons "These" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b))))

Methods

from :: These a b -> Rep (These a b) x Source #

to :: Rep (These a b) x -> These a b Source #

Generic (Pair a b) |

Instance details

Defined in Data.Strict.Tuple

Associated Types

type Rep (Pair a b) |

Instance details

Defined in Data.Strict.Tuple

type Rep (Pair a b) = D1 ('MetaData "Pair" "Data.Strict.Tuple" "strict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b" 'False) (C1 ('MetaCons ":!:" ('InfixI 'NotAssociative 2) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)))

Methods

from :: Pair a b -> Rep (Pair a b) x Source #

to :: Rep (Pair a b) x -> Pair a b Source #

Generic (These a b) |

Instance details

Defined in Data.These

Associated Types

type Rep (These a b) |

Instance details

Defined in Data.These

type Rep (These a b) = D1 ('MetaData "These" "Data.These" "these-1.2.1-JaISJ4F9TDtHwYDjbk1Bng" 'False) (C1 ('MetaCons "This" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "That" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :+: C1 ('MetaCons "These" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b))))

Methods

from :: These a b -> Rep (These a b) x Source #

to :: Rep (These a b) x -> These a b Source #

Generic (Lift f a) |

Instance details

Defined in Control.Applicative.Lift

Associated Types

type Rep (Lift f a) |

Instance details

Defined in Control.Applicative.Lift

type Rep (Lift f a) = D1 ('MetaData "Lift" "Control.Applicative.Lift" "transformers-0.6.1.1-inplace" 'False) (C1 ('MetaCons "Pure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Other" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Lift f a -> Rep (Lift f a) x Source #

to :: Rep (Lift f a) x -> Lift f a Source #

Generic (MaybeT m a) |

Instance details

Defined in Control.Monad.Trans.Maybe

Associated Types

type Rep (MaybeT m a) |
Instance details Defined in Control.Monad.Trans.Maybe type Rep (MaybeT m a) = D1 ('MetaData "MaybeT" "Control.Monad.Trans.Maybe" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "MaybeT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runMaybeT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m (Maybe a)))))

Methods

from :: MaybeT m a -> Rep (MaybeT m a) x Source #

to :: Rep (MaybeT m a) x -> MaybeT m a Source #

Generic (a, b) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b) | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep (a, b) = D1 ('MetaData "Tuple2" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,)" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))

Methods

from :: (a, b) -> Rep (a, b) x Source #

to :: Rep (a, b) x -> (a, b) Source #

Generic (WrappedArrow a b c) |

Instance details

Defined in Control.Applicative

Associated Types

type Rep (WrappedArrow a b c) | Since: base-4.7.0.0
Instance details Defined in Control.Applicative type Rep (WrappedArrow a b c) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a b c))))

Methods

from :: WrappedArrow a b c -> Rep (WrappedArrow a b c) x Source #

to :: Rep (WrappedArrow a b c) x -> WrappedArrow a b c Source #

Generic (Fix p a) |

Instance details

Defined in Data.Bifunctor.Fix

Associated Types

type Rep (Fix p a) |
Instance details Defined in Data.Bifunctor.Fix type Rep (Fix p a) = D1 ('MetaData "Fix" "Data.Bifunctor.Fix" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "In" 'PrefixI 'True) (S1 ('MetaSel ('Just "out") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (p (Fix p a) a))))

Methods

from :: Fix p a -> Rep (Fix p a) x Source #

to :: Rep (Fix p a) x -> Fix p a Source #

Generic (Join p a) |

Instance details

Defined in Data.Bifunctor.Join

Associated Types

type Rep (Join p a) |
Instance details Defined in Data.Bifunctor.Join type Rep (Join p a) = D1 ('MetaData "Join" "Data.Bifunctor.Join" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Join" 'PrefixI 'True) (S1 ('MetaSel ('Just "runJoin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (p a a))))

Methods

from :: Join p a -> Rep (Join p a) x Source #

to :: Rep (Join p a) x -> Join p a Source #

Generic (CofreeF f a b) |

Instance details

Defined in Control.Comonad.Trans.Cofree

Associated Types

type Rep (CofreeF f a b) |

Instance details

Defined in Control.Comonad.Trans.Cofree

type Rep (CofreeF f a b) = D1 ('MetaData "CofreeF" "Control.Comonad.Trans.Cofree" "free-5.2-BHdQZ57GKqJG8sSoZ4qt27" 'False) (C1 ('MetaCons ":<" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f b))))

Methods

from :: CofreeF f a b -> Rep (CofreeF f a b) x Source #

to :: Rep (CofreeF f a b) x -> CofreeF f a b Source #

Generic (FreeF f a b) |

Instance details

Defined in Control.Monad.Trans.Free

Associated Types

type Rep (FreeF f a b) |

Instance details

Defined in Control.Monad.Trans.Free

type Rep (FreeF f a b) = D1 ('MetaData "FreeF" "Control.Monad.Trans.Free" "free-5.2-BHdQZ57GKqJG8sSoZ4qt27" 'False) (C1 ('MetaCons "Pure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Free" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f b))))

Methods

from :: FreeF f a b -> Rep (FreeF f a b) x Source #

to :: Rep (FreeF f a b) x -> FreeF f a b Source #

Generic (Kleisli m a b) |

Instance details

Defined in GHC.Internal.Control.Arrow

Associated Types

type Rep (Kleisli m a b) | Since: base-4.14.0.0
Instance details Defined in GHC.Internal.Control.Arrow type Rep (Kleisli m a b) = D1 ('MetaData "Kleisli" "GHC.Internal.Control.Arrow" "ghc-internal" 'True) (C1 ('MetaCons "Kleisli" 'PrefixI 'True) (S1 ('MetaSel ('Just "runKleisli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> m b))))

Methods

from :: Kleisli m a b -> Rep (Kleisli m a b) x Source #

to :: Rep (Kleisli m a b) x -> Kleisli m a b Source #

Generic (Const a b) |

Instance details

Defined in GHC.Internal.Data.Functor.Const

Associated Types

type Rep (Const a b) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Functor.Const type Rep (Const a b) = D1 ('MetaData "Const" "GHC.Internal.Data.Functor.Const" "ghc-internal" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Const a b -> Rep (Const a b) x Source #

to :: Rep (Const a b) x -> Const a b Source #

Generic (Ap f a) |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (Ap f a) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Ap f a -> Rep (Ap f a) x Source #

to :: Rep (Ap f a) x -> Ap f a Source #

Generic (Alt f a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Alt f a) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Alt f a -> Rep (Alt f a) x Source #

to :: Rep (Alt f a) x -> Alt f a Source #

Generic (Rec1 f p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (Rec1 f p) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Generics type Rep (Rec1 f p) = D1 ('MetaData "Rec1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Rec1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRec1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))))

Methods

from :: Rec1 f p -> Rep (Rec1 f p) x Source #

to :: Rep (Rec1 f p) x -> Rec1 f p Source #

Generic (URec (Ptr ()) p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (URec (Ptr ()) p) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep (URec (Ptr ()) p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: Type -> Type)))

Methods

from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x Source #

to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p Source #

Generic (URec Char p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (URec Char p) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep (URec Char p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: Type -> Type)))

Methods

from :: URec Char p -> Rep (URec Char p) x Source #

to :: Rep (URec Char p) x -> URec Char p Source #

Generic (URec Double p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (URec Double p) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep (URec Double p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: Type -> Type)))

Methods

from :: URec Double p -> Rep (URec Double p) x Source #

to :: Rep (URec Double p) x -> URec Double p Source #

Generic (URec Float p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (URec Float p) |
Instance details Defined in GHC.Internal.Generics type Rep (URec Float p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: Type -> Type)))

Methods

from :: URec Float p -> Rep (URec Float p) x Source #

to :: Rep (URec Float p) x -> URec Float p Source #

Generic (URec Int p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (URec Int p) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep (URec Int p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "uInt#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UInt :: Type -> Type)))

Methods

from :: URec Int p -> Rep (URec Int p) x Source #

to :: Rep (URec Int p) x -> URec Int p Source #

Generic (URec Word p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (URec Word p) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep (URec Word p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: Type -> Type)))

Methods

from :: URec Word p -> Rep (URec Word p) x Source #

to :: Rep (URec Word p) x -> URec Word p Source #

Generic (Tagged s b) |

Instance details

Defined in Data.Tagged

Associated Types

type Rep (Tagged s b) |
Instance details Defined in Data.Tagged type Rep (Tagged s b) = D1 ('MetaData "Tagged" "Data.Tagged" "tagged-0.8.9-EraSdp0lx7uJnqESyrqLTP" 'True) (C1 ('MetaCons "Tagged" 'PrefixI 'True) (S1 ('MetaSel ('Just "unTagged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))

Methods

from :: Tagged s b -> Rep (Tagged s b) x Source #

to :: Rep (Tagged s b) x -> Tagged s b Source #

Generic (Backwards f a) |

Instance details

Defined in Control.Applicative.Backwards

Associated Types

type Rep (Backwards f a) |
Instance details Defined in Control.Applicative.Backwards type Rep (Backwards f a) = D1 ('MetaData "Backwards" "Control.Applicative.Backwards" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "Backwards" 'PrefixI 'True) (S1 ('MetaSel ('Just "forwards") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Backwards f a -> Rep (Backwards f a) x Source #

to :: Rep (Backwards f a) x -> Backwards f a Source #

Generic (AccumT w m a) |

Instance details

Defined in Control.Monad.Trans.Accum

Associated Types

type Rep (AccumT w m a) |
Instance details Defined in Control.Monad.Trans.Accum type Rep (AccumT w m a) = D1 ('MetaData "AccumT" "Control.Monad.Trans.Accum" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "AccumT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (w -> m (a, w)))))

Methods

from :: AccumT w m a -> Rep (AccumT w m a) x Source #

to :: Rep (AccumT w m a) x -> AccumT w m a Source #

Generic (ExceptT e m a) |

Instance details

Defined in Control.Monad.Trans.Except

Associated Types

type Rep (ExceptT e m a) |
Instance details Defined in Control.Monad.Trans.Except type Rep (ExceptT e m a) = D1 ('MetaData "ExceptT" "Control.Monad.Trans.Except" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "ExceptT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m (Either e a)))))

Methods

from :: ExceptT e m a -> Rep (ExceptT e m a) x Source #

to :: Rep (ExceptT e m a) x -> ExceptT e m a Source #

Generic (IdentityT f a) |

Instance details

Defined in Control.Monad.Trans.Identity

Associated Types

type Rep (IdentityT f a) |
Instance details Defined in Control.Monad.Trans.Identity type Rep (IdentityT f a) = D1 ('MetaData "IdentityT" "Control.Monad.Trans.Identity" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "IdentityT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentityT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: IdentityT f a -> Rep (IdentityT f a) x Source #

to :: Rep (IdentityT f a) x -> IdentityT f a Source #

Generic (ReaderT r m a) |

Instance details

Defined in Control.Monad.Trans.Reader

Associated Types

type Rep (ReaderT r m a) |
Instance details Defined in Control.Monad.Trans.Reader type Rep (ReaderT r m a) = D1 ('MetaData "ReaderT" "Control.Monad.Trans.Reader" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "ReaderT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runReaderT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (r -> m a))))

Methods

from :: ReaderT r m a -> Rep (ReaderT r m a) x Source #

to :: Rep (ReaderT r m a) x -> ReaderT r m a Source #

Generic (SelectT r m a) |

Instance details

Defined in Control.Monad.Trans.Select

Associated Types

type Rep (SelectT r m a) |
Instance details Defined in Control.Monad.Trans.Select type Rep (SelectT r m a) = D1 ('MetaData "SelectT" "Control.Monad.Trans.Select" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "SelectT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ((a -> m r) -> m a))))

Methods

from :: SelectT r m a -> Rep (SelectT r m a) x Source #

to :: Rep (SelectT r m a) x -> SelectT r m a Source #

Generic (StateT s m a) |

Instance details

Defined in Control.Monad.Trans.State.Lazy

Associated Types

type Rep (StateT s m a) |
Instance details Defined in Control.Monad.Trans.State.Lazy type Rep (StateT s m a) = D1 ('MetaData "StateT" "Control.Monad.Trans.State.Lazy" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "StateT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runStateT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (s -> m (a, s)))))

Methods

from :: StateT s m a -> Rep (StateT s m a) x Source #

to :: Rep (StateT s m a) x -> StateT s m a Source #

Generic (StateT s m a) |

Instance details

Defined in Control.Monad.Trans.State.Strict

Associated Types

type Rep (StateT s m a) |
Instance details Defined in Control.Monad.Trans.State.Strict type Rep (StateT s m a) = D1 ('MetaData "StateT" "Control.Monad.Trans.State.Strict" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "StateT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runStateT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (s -> m (a, s)))))

Methods

from :: StateT s m a -> Rep (StateT s m a) x Source #

to :: Rep (StateT s m a) x -> StateT s m a Source #

Generic (WriterT w m a) |

Instance details

Defined in Control.Monad.Trans.Writer.CPS

Associated Types

type Rep (WriterT w m a) |
Instance details Defined in Control.Monad.Trans.Writer.CPS type Rep (WriterT w m a) = D1 ('MetaData "WriterT" "Control.Monad.Trans.Writer.CPS" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "WriterT" 'PrefixI 'True) (S1 ('MetaSel ('Just "unWriterT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (w -> m (a, w)))))

Methods

from :: WriterT w m a -> Rep (WriterT w m a) x Source #

to :: Rep (WriterT w m a) x -> WriterT w m a Source #

Generic (WriterT w m a) |

Instance details

Defined in Control.Monad.Trans.Writer.Lazy

Associated Types

type Rep (WriterT w m a) |
Instance details Defined in Control.Monad.Trans.Writer.Lazy type Rep (WriterT w m a) = D1 ('MetaData "WriterT" "Control.Monad.Trans.Writer.Lazy" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "WriterT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runWriterT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m (a, w)))))

Methods

from :: WriterT w m a -> Rep (WriterT w m a) x Source #

to :: Rep (WriterT w m a) x -> WriterT w m a Source #

Generic (WriterT w m a) |

Instance details

Defined in Control.Monad.Trans.Writer.Strict

Associated Types

type Rep (WriterT w m a) |
Instance details Defined in Control.Monad.Trans.Writer.Strict type Rep (WriterT w m a) = D1 ('MetaData "WriterT" "Control.Monad.Trans.Writer.Strict" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "WriterT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runWriterT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m (a, w)))))

Methods

from :: WriterT w m a -> Rep (WriterT w m a) x Source #

to :: Rep (WriterT w m a) x -> WriterT w m a Source #

Generic (Constant a b) |

Instance details

Defined in Data.Functor.Constant

Associated Types

type Rep (Constant a b) |
Instance details Defined in Data.Functor.Constant type Rep (Constant a b) = D1 ('MetaData "Constant" "Data.Functor.Constant" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "Constant" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConstant") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Constant a b -> Rep (Constant a b) x Source #

to :: Rep (Constant a b) x -> Constant a b Source #

Generic (Reverse f a) |

Instance details

Defined in Data.Functor.Reverse

Associated Types

type Rep (Reverse f a) |
Instance details Defined in Data.Functor.Reverse type Rep (Reverse f a) = D1 ('MetaData "Reverse" "Data.Functor.Reverse" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "Reverse" 'PrefixI 'True) (S1 ('MetaSel ('Just "getReverse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Reverse f a -> Rep (Reverse f a) x Source #

to :: Rep (Reverse f a) x -> Reverse f a Source #

Generic (a, b, c) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c) = D1 ('MetaData "Tuple3" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,)" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))))

Methods

from :: (a, b, c) -> Rep (a, b, c) x Source #

to :: Rep (a, b, c) x -> (a, b, c) Source #

Generic (Product f g a) |

Instance details

Defined in Data.Functor.Product

Associated Types

type Rep (Product f g a) | Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

type Rep (Product f g a) = D1 ('MetaData "Product" "Data.Functor.Product" "base" 'False) (C1 ('MetaCons "Pair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g a))))

Methods

from :: Product f g a -> Rep (Product f g a) x Source #

to :: Rep (Product f g a) x -> Product f g a Source #

Generic (Sum f g a) |

Instance details

Defined in Data.Functor.Sum

Associated Types

type Rep (Sum f g a) | Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Sum

type Rep (Sum f g a) = D1 ('MetaData "Sum" "Data.Functor.Sum" "base" 'False) (C1 ('MetaCons "InL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))) :+: C1 ('MetaCons "InR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g a))))

Methods

from :: Sum f g a -> Rep (Sum f g a) x Source #

to :: Rep (Sum f g a) x -> Sum f g a Source #

Generic ((f :*: g) p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep ((f :*: g) p) | Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep ((f :*: g) p) = D1 ('MetaData ":*:" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons ":*:" ('InfixI 'RightAssociative 6) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g p))))

Methods

from :: (f :*: g) p -> Rep ((f :*: g) p) x Source #

to :: Rep ((f :*: g) p) x -> (f :*: g) p Source #

Generic ((f :+: g) p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep ((f :+: g) p) | Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep ((f :+: g) p) = D1 ('MetaData ":+:" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "L1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))) :+: C1 ('MetaCons "R1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g p))))

Methods

from :: (f :+: g) p -> Rep ((f :+: g) p) x Source #

to :: Rep ((f :+: g) p) x -> (f :+: g) p Source #

Generic (K1 i c p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (K1 i c p) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Generics type Rep (K1 i c p) = D1 ('MetaData "K1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))

Methods

from :: K1 i c p -> Rep (K1 i c p) x Source #

to :: Rep (K1 i c p) x -> K1 i c p Source #

Generic (ContT r m a) |

Instance details

Defined in Control.Monad.Trans.Cont

Associated Types

type Rep (ContT r m a) |
Instance details Defined in Control.Monad.Trans.Cont type Rep (ContT r m a) = D1 ('MetaData "ContT" "Control.Monad.Trans.Cont" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "ContT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runContT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ((a -> m r) -> m r))))

Methods

from :: ContT r m a -> Rep (ContT r m a) x Source #

to :: Rep (ContT r m a) x -> ContT r m a Source #

Generic (a, b, c, d) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d) = D1 ('MetaData "Tuple4" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))))

Methods

from :: (a, b, c, d) -> Rep (a, b, c, d) x Source #

to :: Rep (a, b, c, d) x -> (a, b, c, d) Source #

Generic (Compose f g a) |

Instance details

Defined in Data.Functor.Compose

Associated Types

type Rep (Compose f g a) | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose type Rep (Compose f g a) = D1 ('MetaData "Compose" "Data.Functor.Compose" "base" 'True) (C1 ('MetaCons "Compose" 'PrefixI 'True) (S1 ('MetaSel ('Just "getCompose") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (g a)))))

Methods

from :: Compose f g a -> Rep (Compose f g a) x Source #

to :: Rep (Compose f g a) x -> Compose f g a Source #

Generic (Clown f a b) |

Instance details

Defined in Data.Bifunctor.Clown

Associated Types

type Rep (Clown f a b) |
Instance details Defined in Data.Bifunctor.Clown type Rep (Clown f a b) = D1 ('MetaData "Clown" "Data.Bifunctor.Clown" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Clown" 'PrefixI 'True) (S1 ('MetaSel ('Just "runClown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Clown f a b -> Rep (Clown f a b) x Source #

to :: Rep (Clown f a b) x -> Clown f a b Source #

Generic (Flip p a b) |

Instance details

Defined in Data.Bifunctor.Flip

Associated Types

type Rep (Flip p a b) |
Instance details Defined in Data.Bifunctor.Flip type Rep (Flip p a b) = D1 ('MetaData "Flip" "Data.Bifunctor.Flip" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Flip" 'PrefixI 'True) (S1 ('MetaSel ('Just "runFlip") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (p b a))))

Methods

from :: Flip p a b -> Rep (Flip p a b) x Source #

to :: Rep (Flip p a b) x -> Flip p a b Source #

Generic (Joker g a b) |

Instance details

Defined in Data.Bifunctor.Joker

Associated Types

type Rep (Joker g a b) |
Instance details Defined in Data.Bifunctor.Joker type Rep (Joker g a b) = D1 ('MetaData "Joker" "Data.Bifunctor.Joker" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Joker" 'PrefixI 'True) (S1 ('MetaSel ('Just "runJoker") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g b))))

Methods

from :: Joker g a b -> Rep (Joker g a b) x Source #

to :: Rep (Joker g a b) x -> Joker g a b Source #

Generic (WrappedBifunctor p a b) |

Instance details

Defined in Data.Bifunctor.Wrapped

Associated Types

type Rep (WrappedBifunctor p a b) |
Instance details Defined in Data.Bifunctor.Wrapped type Rep (WrappedBifunctor p a b) = D1 ('MetaData "WrappedBifunctor" "Data.Bifunctor.Wrapped" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "WrapBifunctor" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapBifunctor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (p a b))))

Methods

from :: WrappedBifunctor p a b -> Rep (WrappedBifunctor p a b) x Source #

to :: Rep (WrappedBifunctor p a b) x -> WrappedBifunctor p a b Source #

Generic ((f :.: g) p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep ((f :.: g) p) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Generics type Rep ((f :.: g) p) = D1 ('MetaData ":.:" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (g p)))))

Methods

from :: (f :.: g) p -> Rep ((f :.: g) p) x Source #

to :: Rep ((f :.: g) p) x -> (f :.: g) p Source #

Generic (M1 i c f p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (M1 i c f p) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Generics type Rep (M1 i c f p) = D1 ('MetaData "M1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f p))))

Methods

from :: M1 i c f p -> Rep (M1 i c f p) x Source #

to :: Rep (M1 i c f p) x -> M1 i c f p Source #

Generic (RWST r w s m a) |

Instance details

Defined in Control.Monad.Trans.RWS.CPS

Associated Types

type Rep (RWST r w s m a) |
Instance details Defined in Control.Monad.Trans.RWS.CPS type Rep (RWST r w s m a) = D1 ('MetaData "RWST" "Control.Monad.Trans.RWS.CPS" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "RWST" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRWST") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (r -> s -> w -> m (a, s, w)))))

Methods

from :: RWST r w s m a -> Rep (RWST r w s m a) x Source #

to :: Rep (RWST r w s m a) x -> RWST r w s m a Source #

Generic (RWST r w s m a) |

Instance details

Defined in Control.Monad.Trans.RWS.Lazy

Associated Types

type Rep (RWST r w s m a) |
Instance details Defined in Control.Monad.Trans.RWS.Lazy type Rep (RWST r w s m a) = D1 ('MetaData "RWST" "Control.Monad.Trans.RWS.Lazy" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "RWST" 'PrefixI 'True) (S1 ('MetaSel ('Just "runRWST") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (r -> s -> m (a, s, w)))))

Methods

from :: RWST r w s m a -> Rep (RWST r w s m a) x Source #

to :: Rep (RWST r w s m a) x -> RWST r w s m a Source #

Generic (RWST r w s m a) |

Instance details

Defined in Control.Monad.Trans.RWS.Strict

Associated Types

type Rep (RWST r w s m a) |
Instance details Defined in Control.Monad.Trans.RWS.Strict type Rep (RWST r w s m a) = D1 ('MetaData "RWST" "Control.Monad.Trans.RWS.Strict" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "RWST" 'PrefixI 'True) (S1 ('MetaSel ('Just "runRWST") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (r -> s -> m (a, s, w)))))

Methods

from :: RWST r w s m a -> Rep (RWST r w s m a) x Source #

to :: Rep (RWST r w s m a) x -> RWST r w s m a Source #

Generic (a, b, c, d, e) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e) = D1 ('MetaData "Tuple5" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))))

Methods

from :: (a, b, c, d, e) -> Rep (a, b, c, d, e) x Source #

to :: Rep (a, b, c, d, e) x -> (a, b, c, d, e) Source #

Generic (Product f g a b) |

Instance details

Defined in Data.Bifunctor.Product

Associated Types

type Rep (Product f g a b) |

Instance details

Defined in Data.Bifunctor.Product

type Rep (Product f g a b) = D1 ('MetaData "Product" "Data.Bifunctor.Product" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'False) (C1 ('MetaCons "Pair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a b)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g a b))))

Methods

from :: Product f g a b -> Rep (Product f g a b) x Source #

to :: Rep (Product f g a b) x -> Product f g a b Source #

Generic (Sum p q a b) |

Instance details

Defined in Data.Bifunctor.Sum

Associated Types

type Rep (Sum p q a b) |

Instance details

Defined in Data.Bifunctor.Sum

type Rep (Sum p q a b) = D1 ('MetaData "Sum" "Data.Bifunctor.Sum" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'False) (C1 ('MetaCons "L2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (p a b))) :+: C1 ('MetaCons "R2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (q a b))))

Methods

from :: Sum p q a b -> Rep (Sum p q a b) x Source #

to :: Rep (Sum p q a b) x -> Sum p q a b Source #

Generic (a, b, c, d, e, f) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f) = D1 ('MetaData "Tuple6" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))))

Methods

from :: (a, b, c, d, e, f) -> Rep (a, b, c, d, e, f) x Source #

to :: Rep (a, b, c, d, e, f) x -> (a, b, c, d, e, f) Source #

Generic (Tannen f p a b) |

Instance details

Defined in Data.Bifunctor.Tannen

Associated Types

type Rep (Tannen f p a b) |
Instance details Defined in Data.Bifunctor.Tannen type Rep (Tannen f p a b) = D1 ('MetaData "Tannen" "Data.Bifunctor.Tannen" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Tannen" 'PrefixI 'True) (S1 ('MetaSel ('Just "runTannen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (p a b)))))

Methods

from :: Tannen f p a b -> Rep (Tannen f p a b) x Source #

to :: Rep (Tannen f p a b) x -> Tannen f p a b Source #

Generic (a, b, c, d, e, f, g) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g) = D1 ('MetaData "Tuple7" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))))

Methods

from :: (a, b, c, d, e, f, g) -> Rep (a, b, c, d, e, f, g) x Source #

to :: Rep (a, b, c, d, e, f, g) x -> (a, b, c, d, e, f, g) Source #

Generic (a, b, c, d, e, f, g, h) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g, h) = D1 ('MetaData "Tuple8" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h)))))

Methods

from :: (a, b, c, d, e, f, g, h) -> Rep (a, b, c, d, e, f, g, h) x Source #

to :: Rep (a, b, c, d, e, f, g, h) x -> (a, b, c, d, e, f, g, h) Source #

Generic (Biff p f g a b) |

Instance details

Defined in Data.Bifunctor.Biff

Associated Types

type Rep (Biff p f g a b) |
Instance details Defined in Data.Bifunctor.Biff type Rep (Biff p f g a b) = D1 ('MetaData "Biff" "Data.Bifunctor.Biff" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Biff" 'PrefixI 'True) (S1 ('MetaSel ('Just "runBiff") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (p (f a) (g b)))))

Methods

from :: Biff p f g a b -> Rep (Biff p f g a b) x Source #

to :: Rep (Biff p f g a b) x -> Biff p f g a b Source #

Generic (a, b, c, d, e, f, g, h, i) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g, h, i) = D1 ('MetaData "Tuple9" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))))))

Methods

from :: (a, b, c, d, e, f, g, h, i) -> Rep (a, b, c, d, e, f, g, h, i) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i) x -> (a, b, c, d, e, f, g, h, i) Source #

Generic (a, b, c, d, e, f, g, h, i, j) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g, h, i, j) = D1 ('MetaData "Tuple10" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j))))))

Methods

from :: (a, b, c, d, e, f, g, h, i, j) -> Rep (a, b, c, d, e, f, g, h, i, j) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j) x -> (a, b, c, d, e, f, g, h, i, j) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g, h, i, j, k) = D1 ('MetaData "Tuple11" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k))))))

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k) -> Rep (a, b, c, d, e, f, g, h, i, j, k) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k) x -> (a, b, c, d, e, f, g, h, i, j, k) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k, l) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k, l) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g, h, i, j, k, l) = D1 ('MetaData "Tuple12" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))))

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l) x -> (a, b, c, d, e, f, g, h, i, j, k, l) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) = D1 ('MetaData "Tuple13" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m))))))

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) = D1 ('MetaData "Tuple14" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n))))))

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) = D1 ('MetaData "Tuple15" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))) :*: (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 o))))))

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

class Generic1 (f :: k -> Type) Source #

Representable types of kind `* -> *` (or kind `k -> *`, when `PolyKinds` is enabled). This class is derivable in GHC with the `DeriveGeneric` flag on.

A `Generic1` instance must satisfy the following laws:

    from1 . to1 ≡ id
    to1 . from1 ≡ id

Minimal complete definition

from1, to1

#### Instances

Instances details

Generic1 Complex |

Instance details

Defined in Data.Complex

Associated Types

type Rep1 Complex | Since: base-4.9.0.0
Instance details Defined in Data.Complex type Rep1 Complex = D1 ('MetaData "Complex" "Data.Complex" "base" 'False) (C1 ('MetaCons ":+" ('InfixI 'NotAssociative 6) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))

Methods

from1 :: Complex a -> Rep1 Complex a Source #

to1 :: Rep1 Complex a -> Complex a Source #

Generic1 First |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep1 First | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 First = D1 ('MetaData "First" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: First a -> Rep1 First a Source #

to1 :: Rep1 First a -> First a Source #

Generic1 Last |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep1 Last | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 Last = D1 ('MetaData "Last" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Last a -> Rep1 Last a Source #

to1 :: Rep1 Last a -> Last a Source #

Generic1 Max |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep1 Max | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 Max = D1 ('MetaData "Max" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Max" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMax") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Max a -> Rep1 Max a Source #

to1 :: Rep1 Max a -> Max a Source #

Generic1 Min |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep1 Min | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 Min = D1 ('MetaData "Min" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Min" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Min a -> Rep1 Min a Source #

to1 :: Rep1 Min a -> Min a Source #

Generic1 WrappedMonoid |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep1 WrappedMonoid | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 WrappedMonoid = D1 ('MetaData "WrappedMonoid" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "WrapMonoid" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonoid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: WrappedMonoid a -> Rep1 WrappedMonoid a Source #

to1 :: Rep1 WrappedMonoid a -> WrappedMonoid a Source #

Generic1 SCC |

Instance details

Defined in Data.Graph

Associated Types

type Rep1 SCC | Since: containers-0.5.9

Instance details

Defined in Data.Graph

type Rep1 SCC = D1 ('MetaData "SCC" "Data.Graph" "containers-0.7-inplace" 'False) (C1 ('MetaCons "AcyclicSCC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "NECyclicSCC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec1 NonEmpty)))

Methods

from1 :: SCC a -> Rep1 SCC a Source #

to1 :: Rep1 SCC a -> SCC a Source #

Generic1 Digit |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep1 Digit | Since: containers-0.6.1

Instance details

Defined in Data.Sequence.Internal

type Rep1 Digit = D1 ('MetaData "Digit" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) ((C1 ('MetaCons "One" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "Two" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: (C1 ('MetaCons "Three" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: C1 ('MetaCons "Four" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: Digit a -> Rep1 Digit a Source #

to1 :: Rep1 Digit a -> Digit a Source #

Generic1 Elem |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep1 Elem | Since: containers-0.6.1
Instance details Defined in Data.Sequence.Internal type Rep1 Elem = D1 ('MetaData "Elem" "Data.Sequence.Internal" "containers-0.7-inplace" 'True) (C1 ('MetaCons "Elem" 'PrefixI 'True) (S1 ('MetaSel ('Just "getElem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Elem a -> Rep1 Elem a Source #

to1 :: Rep1 Elem a -> Elem a Source #

Generic1 FingerTree |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep1 FingerTree | Since: containers-0.6.1

Instance details

Defined in Data.Sequence.Internal

type Rep1 FingerTree = D1 ('MetaData "FingerTree" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) (C1 ('MetaCons "EmptyT" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Single" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "Deep" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec1 Digit)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (FingerTree :.: Rec1 Node) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec1 Digit)))))

Methods

from1 :: FingerTree a -> Rep1 FingerTree a Source #

to1 :: Rep1 FingerTree a -> FingerTree a Source #

Generic1 Node |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep1 Node | Since: containers-0.6.1

Instance details

Defined in Data.Sequence.Internal

type Rep1 Node = D1 ('MetaData "Node" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) (C1 ('MetaCons "Node2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) :+: C1 ('MetaCons "Node3" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: Node a -> Rep1 Node a Source #

to1 :: Rep1 Node a -> Node a Source #

Generic1 ViewL |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep1 ViewL | Since: containers-0.5.8

Instance details

Defined in Data.Sequence.Internal

type Rep1 ViewL = D1 ('MetaData "ViewL" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) (C1 ('MetaCons "EmptyL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":<" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Seq)))

Methods

from1 :: ViewL a -> Rep1 ViewL a Source #

to1 :: Rep1 ViewL a -> ViewL a Source #

Generic1 ViewR |

Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep1 ViewR | Since: containers-0.5.8

Instance details

Defined in Data.Sequence.Internal

type Rep1 ViewR = D1 ('MetaData "ViewR" "Data.Sequence.Internal" "containers-0.7-inplace" 'False) (C1 ('MetaCons "EmptyR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":>" ('InfixI 'LeftAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Seq) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: ViewR a -> Rep1 ViewR a Source #

to1 :: Rep1 ViewR a -> ViewR a Source #

Generic1 Tree |

Instance details

Defined in Data.Tree

Associated Types

type Rep1 Tree | Since: containers-0.5.8
Instance details Defined in Data.Tree type Rep1 Tree = D1 ('MetaData "Tree" "Data.Tree" "containers-0.7-inplace" 'False) (C1 ('MetaCons "Node" 'PrefixI 'True) (S1 ('MetaSel ('Just "rootLabel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Just "subForest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 Tree)))

Methods

from1 :: Tree a -> Rep1 Tree a Source #

to1 :: Rep1 Tree a -> Tree a Source #

Generic1 NonEmpty |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 NonEmpty | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 NonEmpty = D1 ('MetaData "NonEmpty" "GHC.Internal.Base" "ghc-internal" 'False) (C1 ('MetaCons ":|" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 [])))

Methods

from1 :: NonEmpty a -> Rep1 NonEmpty a Source #

to1 :: Rep1 NonEmpty a -> NonEmpty a Source #

Generic1 Identity |

Instance details

Defined in GHC.Internal.Data.Functor.Identity

Associated Types

type Rep1 Identity | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Functor.Identity type Rep1 Identity = D1 ('MetaData "Identity" "GHC.Internal.Data.Functor.Identity" "ghc-internal" 'True) (C1 ('MetaCons "Identity" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Identity a -> Rep1 Identity a Source #

to1 :: Rep1 Identity a -> Identity a Source #

Generic1 First |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep1 First | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 First = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))

Methods

from1 :: First a -> Rep1 First a Source #

to1 :: Rep1 First a -> First a Source #

Generic1 Last |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep1 Last | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 Last = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))

Methods

from1 :: Last a -> Rep1 Last a Source #

to1 :: Rep1 Last a -> Last a Source #

Generic1 Down |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 Down | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 Down = D1 ('MetaData "Down" "GHC.Internal.Data.Ord" "ghc-internal" 'True) (C1 ('MetaCons "Down" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Down a -> Rep1 Down a Source #

to1 :: Rep1 Down a -> Down a Source #

Generic1 Dual |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep1 Dual | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Dual = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Dual a -> Rep1 Dual a Source #

to1 :: Rep1 Dual a -> Dual a Source #

Generic1 Product |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep1 Product | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Product = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Product a -> Rep1 Product a Source #

to1 :: Rep1 Product a -> Product a Source #

Generic1 Sum |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep1 Sum | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Sum = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Sum a -> Rep1 Sum a Source #

to1 :: Rep1 Sum a -> Sum a Source #

Generic1 ZipList |

Instance details

Defined in GHC.Internal.Functor.ZipList

Associated Types

type Rep1 ZipList | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Functor.ZipList type Rep1 ZipList = D1 ('MetaData "ZipList" "GHC.Internal.Functor.ZipList" "ghc-internal" 'True) (C1 ('MetaCons "ZipList" 'PrefixI 'True) (S1 ('MetaSel ('Just "getZipList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 [])))

Methods

from1 :: ZipList a -> Rep1 ZipList a Source #

to1 :: Rep1 ZipList a -> ZipList a Source #

Generic1 Par1 |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 Par1 | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 Par1 = D1 ('MetaData "Par1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Par1 a -> Rep1 Par1 a Source #

to1 :: Rep1 Par1 a -> Par1 a Source #

Generic1 Maybe |

Instance details

Defined in Data.Strict.Maybe

Associated Types

type Rep1 Maybe |
Instance details Defined in Data.Strict.Maybe type Rep1 Maybe = D1 ('MetaData "Maybe" "Data.Strict.Maybe" "strict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b" 'False) (C1 ('MetaCons "Nothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Just" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))

Methods

from1 :: Maybe a -> Rep1 Maybe a Source #

to1 :: Rep1 Maybe a -> Maybe a Source #

Generic1 Maybe |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 Maybe | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 Maybe = D1 ('MetaData "Maybe" "GHC.Internal.Maybe" "ghc-internal" 'False) (C1 ('MetaCons "Nothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Just" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Maybe a -> Rep1 Maybe a Source #

to1 :: Rep1 Maybe a -> Maybe a Source #

Generic1 Solo |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 Solo | Since: base-4.15
Instance details Defined in GHC.Internal.Generics type Rep1 Solo = D1 ('MetaData "Solo" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "MkSolo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Solo a -> Rep1 Solo a Source #

to1 :: Rep1 Solo a -> Solo a Source #

Generic1 [] |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 [] | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 [] = D1 ('MetaData "List" "GHC.Types" "ghc-prim" 'False) (C1 ('MetaCons "[]" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons ":" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 [])))

Methods

from1 :: [a] -> Rep1 [] a Source #

to1 :: Rep1 [] a -> [a] Source #

Generic1 (WrappedMonad m :: Type -> Type) |

Instance details

Defined in Control.Applicative

Associated Types

type Rep1 (WrappedMonad m :: Type -> Type) | Since: base-4.7.0.0
Instance details Defined in Control.Applicative type Rep1 (WrappedMonad m :: Type -> Type) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 m)))

Methods

from1 :: WrappedMonad m a -> Rep1 (WrappedMonad m) a Source #

to1 :: Rep1 (WrappedMonad m) a -> WrappedMonad m a Source #

Generic1 (Arg a :: Type -> Type) |

Instance details

Defined in Data.Semigroup

Associated Types

type Rep1 (Arg a :: Type -> Type) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 (Arg a :: Type -> Type) = D1 ('MetaData "Arg" "Data.Semigroup" "base" 'False) (C1 ('MetaCons "Arg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Arg a a0 -> Rep1 (Arg a) a0 Source #

to1 :: Rep1 (Arg a) a0 -> Arg a a0 Source #

Functor f => Generic1 (Cofree f :: Type -> Type) |

Instance details

Defined in Control.Comonad.Cofree

Associated Types

type Rep1 (Cofree f :: Type -> Type) |

Instance details

Defined in Control.Comonad.Cofree

type Rep1 (Cofree f :: Type -> Type) = D1 ('MetaData "Cofree" "Control.Comonad.Cofree" "free-5.2-BHdQZ57GKqJG8sSoZ4qt27" 'False) (C1 ('MetaCons ":<" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (f :.: Rec1 (Cofree f))))

Methods

from1 :: Cofree f a -> Rep1 (Cofree f) a Source #

to1 :: Rep1 (Cofree f) a -> Cofree f a Source #

Functor f => Generic1 (Free f :: Type -> Type) |

Instance details

Defined in Control.Monad.Free

Associated Types

type Rep1 (Free f :: Type -> Type) |

Instance details

Defined in Control.Monad.Free

type Rep1 (Free f :: Type -> Type) = D1 ('MetaData "Free" "Control.Monad.Free" "free-5.2-BHdQZ57GKqJG8sSoZ4qt27" 'False) (C1 ('MetaCons "Pure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "Free" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (f :.: Rec1 (Free f))))

Methods

from1 :: Free f a -> Rep1 (Free f) a Source #

to1 :: Rep1 (Free f) a -> Free f a Source #

Generic1 (Either a :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (Either a :: Type -> Type) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 (Either a :: Type -> Type) = D1 ('MetaData "Either" "GHC.Internal.Data.Either" "ghc-internal" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Either a a0 -> Rep1 (Either a) a0 Source #

to1 :: Rep1 (Either a) a0 -> Either a a0 Source #

Generic1 (ListF a :: Type -> Type) |

Instance details

Defined in Data.Functor.Base

Associated Types

type Rep1 (ListF a :: Type -> Type) |

Instance details

Defined in Data.Functor.Base

type Rep1 (ListF a :: Type -> Type) = D1 ('MetaData "ListF" "Data.Functor.Base" "recursion-schemes-5.2.3-K3D9dDpBcte1cy2ppH5E3C" 'False) (C1 ('MetaCons "Nil" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cons" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: ListF a a0 -> Rep1 (ListF a) a0 Source #

to1 :: Rep1 (ListF a) a0 -> ListF a a0 Source #

Generic1 (NonEmptyF a :: Type -> Type) |

Instance details

Defined in Data.Functor.Base

Associated Types

type Rep1 (NonEmptyF a :: Type -> Type) |

Instance details

Defined in Data.Functor.Base

type Rep1 (NonEmptyF a :: Type -> Type) = D1 ('MetaData "NonEmptyF" "Data.Functor.Base" "recursion-schemes-5.2.3-K3D9dDpBcte1cy2ppH5E3C" 'False) (C1 ('MetaCons "NonEmptyF" 'PrefixI 'True) (S1 ('MetaSel ('Just "head") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "tail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))

Methods

from1 :: NonEmptyF a a0 -> Rep1 (NonEmptyF a) a0 Source #

to1 :: Rep1 (NonEmptyF a) a0 -> NonEmptyF a a0 Source #

Generic1 (TreeF a :: Type -> Type) |

Instance details

Defined in Data.Functor.Base

Associated Types

type Rep1 (TreeF a :: Type -> Type) |

Instance details

Defined in Data.Functor.Base

type Rep1 (TreeF a :: Type -> Type) = D1 ('MetaData "TreeF" "Data.Functor.Base" "recursion-schemes-5.2.3-K3D9dDpBcte1cy2ppH5E3C" 'False) (C1 ('MetaCons "NodeF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 [])))

Methods

from1 :: TreeF a a0 -> Rep1 (TreeF a) a0 Source #

to1 :: Rep1 (TreeF a) a0 -> TreeF a a0 Source #

Generic1 (Either a :: Type -> Type) |

Instance details

Defined in Data.Strict.Either

Associated Types

type Rep1 (Either a :: Type -> Type) |

Instance details

Defined in Data.Strict.Either

type Rep1 (Either a :: Type -> Type) = D1 ('MetaData "Either" "Data.Strict.Either" "strict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))

Methods

from1 :: Either a a0 -> Rep1 (Either a) a0 Source #

to1 :: Rep1 (Either a) a0 -> Either a a0 Source #

Generic1 (These a :: Type -> Type) |

Instance details

Defined in Data.Strict.These

Associated Types

type Rep1 (These a :: Type -> Type) |

Instance details

Defined in Data.Strict.These

type Rep1 (These a :: Type -> Type) = D1 ('MetaData "These" "Data.Strict.These" "strict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b" 'False) (C1 ('MetaCons "This" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :+: (C1 ('MetaCons "That" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :+: C1 ('MetaCons "These" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))

Methods

from1 :: These a a0 -> Rep1 (These a) a0 Source #

to1 :: Rep1 (These a) a0 -> These a a0 Source #

Generic1 (Pair a :: Type -> Type) |

Instance details

Defined in Data.Strict.Tuple

Associated Types

type Rep1 (Pair a :: Type -> Type) |

Instance details

Defined in Data.Strict.Tuple

type Rep1 (Pair a :: Type -> Type) = D1 ('MetaData "Pair" "Data.Strict.Tuple" "strict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b" 'False) (C1 ('MetaCons ":!:" ('InfixI 'NotAssociative 2) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))

Methods

from1 :: Pair a a0 -> Rep1 (Pair a) a0 Source #

to1 :: Rep1 (Pair a) a0 -> Pair a a0 Source #

Generic1 (These a :: Type -> Type) |

Instance details

Defined in Data.These

Associated Types

type Rep1 (These a :: Type -> Type) |

Instance details

Defined in Data.These

type Rep1 (These a :: Type -> Type) = D1 ('MetaData "These" "Data.These" "these-1.2.1-JaISJ4F9TDtHwYDjbk1Bng" 'False) (C1 ('MetaCons "This" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "That" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "These" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: These a a0 -> Rep1 (These a) a0 Source #

to1 :: Rep1 (These a) a0 -> These a a0 Source #

Generic1 (Lift f :: Type -> Type) |

Instance details

Defined in Control.Applicative.Lift

Associated Types

type Rep1 (Lift f :: Type -> Type) |

Instance details

Defined in Control.Applicative.Lift

type Rep1 (Lift f :: Type -> Type) = D1 ('MetaData "Lift" "Control.Applicative.Lift" "transformers-0.6.1.1-inplace" 'False) (C1 ('MetaCons "Pure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1) :+: C1 ('MetaCons "Other" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: Lift f a -> Rep1 (Lift f) a Source #

to1 :: Rep1 (Lift f) a -> Lift f a Source #

Functor m => Generic1 (MaybeT m :: Type -> Type) |

Instance details

Defined in Control.Monad.Trans.Maybe

Associated Types

type Rep1 (MaybeT m :: Type -> Type) |
Instance details Defined in Control.Monad.Trans.Maybe type Rep1 (MaybeT m :: Type -> Type) = D1 ('MetaData "MaybeT" "Control.Monad.Trans.Maybe" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "MaybeT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runMaybeT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (m :.: Rec1 Maybe)))

Methods

from1 :: MaybeT m a -> Rep1 (MaybeT m) a Source #

to1 :: Rep1 (MaybeT m) a -> MaybeT m a Source #

Generic1 ((,) a :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,) a :: Type -> Type) | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 ((,) a :: Type -> Type) = D1 ('MetaData "Tuple2" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,)" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: (a, a0) -> Rep1 ((,) a) a0 Source #

to1 :: Rep1 ((,) a) a0 -> (a, a0) Source #

Generic1 (Proxy :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (Proxy :: k -> Type) | Since: base-4.6.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (Proxy :: k -> Type) = D1 ('MetaData "Proxy" "GHC.Internal.Data.Proxy" "ghc-internal" 'False) (C1 ('MetaCons "Proxy" 'PrefixI 'False) (U1 :: k -> Type))

Methods

from1 :: forall (a :: k). Proxy a -> Rep1 (Proxy :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (Proxy :: k -> Type) a -> Proxy a Source #

Generic1 (U1 :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (U1 :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (U1 :: k -> Type) = D1 ('MetaData "U1" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "U1" 'PrefixI 'False) (U1 :: k -> Type))

Methods

from1 :: forall (a :: k). U1 a -> Rep1 (U1 :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (U1 :: k -> Type) a -> U1 a Source #

Generic1 (V1 :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (V1 :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (V1 :: k -> Type) = D1 ('MetaData "V1" "GHC.Internal.Generics" "ghc-internal" 'False) (V1 :: k -> Type)

Methods

from1 :: forall (a :: k). V1 a -> Rep1 (V1 :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (V1 :: k -> Type) a -> V1 a Source #

Generic1 (WrappedArrow a b :: Type -> Type) |

Instance details

Defined in Control.Applicative

Associated Types

type Rep1 (WrappedArrow a b :: Type -> Type) | Since: base-4.7.0.0
Instance details Defined in Control.Applicative type Rep1 (WrappedArrow a b :: Type -> Type) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (a b))))

Methods

from1 :: WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 Source #

to1 :: Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0 Source #

Generic1 (CofreeF f a :: Type -> Type) |

Instance details

Defined in Control.Comonad.Trans.Cofree

Associated Types

type Rep1 (CofreeF f a :: Type -> Type) |

Instance details

Defined in Control.Comonad.Trans.Cofree

type Rep1 (CofreeF f a :: Type -> Type) = D1 ('MetaData "CofreeF" "Control.Comonad.Trans.Cofree" "free-5.2-BHdQZ57GKqJG8sSoZ4qt27" 'False) (C1 ('MetaCons ":<" ('InfixI 'RightAssociative 5) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: CofreeF f a a0 -> Rep1 (CofreeF f a) a0 Source #

to1 :: Rep1 (CofreeF f a) a0 -> CofreeF f a a0 Source #

Generic1 (FreeF f a :: Type -> Type) |

Instance details

Defined in Control.Monad.Trans.Free

Associated Types

type Rep1 (FreeF f a :: Type -> Type) |

Instance details

Defined in Control.Monad.Trans.Free

type Rep1 (FreeF f a :: Type -> Type) = D1 ('MetaData "FreeF" "Control.Monad.Trans.Free" "free-5.2-BHdQZ57GKqJG8sSoZ4qt27" 'False) (C1 ('MetaCons "Pure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Free" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: FreeF f a a0 -> Rep1 (FreeF f a) a0 Source #

to1 :: Rep1 (FreeF f a) a0 -> FreeF f a a0 Source #

Generic1 (Kleisli m a :: Type -> Type) |

Instance details

Defined in GHC.Internal.Control.Arrow

Associated Types

type Rep1 (Kleisli m a :: Type -> Type) | Since: base-4.14.0.0
Instance details Defined in GHC.Internal.Control.Arrow type Rep1 (Kleisli m a :: Type -> Type) = D1 ('MetaData "Kleisli" "GHC.Internal.Control.Arrow" "ghc-internal" 'True) (C1 ('MetaCons "Kleisli" 'PrefixI 'True) (S1 ('MetaSel ('Just "runKleisli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ((FUN 'Many a :: Type -> Type) :.: Rec1 m)))

Methods

from1 :: Kleisli m a a0 -> Rep1 (Kleisli m a) a0 Source #

to1 :: Rep1 (Kleisli m a) a0 -> Kleisli m a a0 Source #

Generic1 (Tagged s :: Type -> Type) |

Instance details

Defined in Data.Tagged

Associated Types

type Rep1 (Tagged s :: Type -> Type) |
Instance details Defined in Data.Tagged type Rep1 (Tagged s :: Type -> Type) = D1 ('MetaData "Tagged" "Data.Tagged" "tagged-0.8.9-EraSdp0lx7uJnqESyrqLTP" 'True) (C1 ('MetaCons "Tagged" 'PrefixI 'True) (S1 ('MetaSel ('Just "unTagged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Tagged s a -> Rep1 (Tagged s) a Source #

to1 :: Rep1 (Tagged s) a -> Tagged s a Source #

Functor m => Generic1 (ExceptT e m :: Type -> Type) |

Instance details

Defined in Control.Monad.Trans.Except

Associated Types

type Rep1 (ExceptT e m :: Type -> Type) |
Instance details Defined in Control.Monad.Trans.Except type Rep1 (ExceptT e m :: Type -> Type) = D1 ('MetaData "ExceptT" "Control.Monad.Trans.Except" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "ExceptT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (m :.: Rec1 (Either e))))

Methods

from1 :: ExceptT e m a -> Rep1 (ExceptT e m) a Source #

to1 :: Rep1 (ExceptT e m) a -> ExceptT e m a Source #

Generic1 (ReaderT r m :: Type -> Type) |

Instance details

Defined in Control.Monad.Trans.Reader

Associated Types

type Rep1 (ReaderT r m :: Type -> Type) |
Instance details Defined in Control.Monad.Trans.Reader type Rep1 (ReaderT r m :: Type -> Type) = D1 ('MetaData "ReaderT" "Control.Monad.Trans.Reader" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "ReaderT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runReaderT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ((FUN 'Many r :: Type -> Type) :.: Rec1 m)))

Methods

from1 :: ReaderT r m a -> Rep1 (ReaderT r m) a Source #

to1 :: Rep1 (ReaderT r m) a -> ReaderT r m a Source #

Generic1 ((,,) a b :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,) a b :: Type -> Type) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,) a b :: Type -> Type) = D1 ('MetaData "Tuple3" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,)" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: (a, b, a0) -> Rep1 ((,,) a b) a0 Source #

to1 :: Rep1 ((,,) a b) a0 -> (a, b, a0) Source #

Generic1 (Const a :: k -> Type) |

Instance details

Defined in GHC.Internal.Data.Functor.Const

Associated Types

type Rep1 (Const a :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Functor.Const type Rep1 (Const a :: k -> Type) = D1 ('MetaData "Const" "GHC.Internal.Data.Functor.Const" "ghc-internal" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from1 :: forall (a0 :: k). Const a a0 -> Rep1 (Const a :: k -> Type) a0 Source #

to1 :: forall (a0 :: k). Rep1 (Const a :: k -> Type) a0 -> Const a a0 Source #

Generic1 (Ap f :: k -> Type) |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep1 (Ap f :: k -> Type) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 (Ap f :: k -> Type) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). Ap f a -> Rep1 (Ap f) a Source #

to1 :: forall (a :: k). Rep1 (Ap f) a -> Ap f a Source #

Generic1 (Alt f :: k -> Type) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep1 (Alt f :: k -> Type) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 (Alt f :: k -> Type) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). Alt f a -> Rep1 (Alt f) a Source #

to1 :: forall (a :: k). Rep1 (Alt f) a -> Alt f a Source #

Generic1 (Rec1 f :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (Rec1 f :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (Rec1 f :: k -> Type) = D1 ('MetaData "Rec1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Rec1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRec1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). Rec1 f a -> Rep1 (Rec1 f) a Source #

to1 :: forall (a :: k). Rep1 (Rec1 f) a -> Rec1 f a Source #

Generic1 (URec (Ptr ()) :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (URec (Ptr ()) :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (URec (Ptr ()) :: k -> Type) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: k -> Type)))

Methods

from1 :: forall (a :: k). URec (Ptr ()) a -> Rep1 (URec (Ptr ()) :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (URec (Ptr ()) :: k -> Type) a -> URec (Ptr ()) a Source #

Generic1 (URec Char :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (URec Char :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (URec Char :: k -> Type) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: k -> Type)))

Methods

from1 :: forall (a :: k). URec Char a -> Rep1 (URec Char :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (URec Char :: k -> Type) a -> URec Char a Source #

Generic1 (URec Double :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (URec Double :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (URec Double :: k -> Type) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: k -> Type)))

Methods

from1 :: forall (a :: k). URec Double a -> Rep1 (URec Double :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (URec Double :: k -> Type) a -> URec Double a Source #

Generic1 (URec Float :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (URec Float :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (URec Float :: k -> Type) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: k -> Type)))

Methods

from1 :: forall (a :: k). URec Float a -> Rep1 (URec Float :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (URec Float :: k -> Type) a -> URec Float a Source #

Generic1 (URec Int :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (URec Int :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (URec Int :: k -> Type) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "uInt#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UInt :: k -> Type)))

Methods

from1 :: forall (a :: k). URec Int a -> Rep1 (URec Int :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (URec Int :: k -> Type) a -> URec Int a Source #

Generic1 (URec Word :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (URec Word :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (URec Word :: k -> Type) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: k -> Type)))

Methods

from1 :: forall (a :: k). URec Word a -> Rep1 (URec Word :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (URec Word :: k -> Type) a -> URec Word a Source #

Generic1 (Backwards f :: k -> Type) |

Instance details

Defined in Control.Applicative.Backwards

Associated Types

type Rep1 (Backwards f :: k -> Type) |
Instance details Defined in Control.Applicative.Backwards type Rep1 (Backwards f :: k -> Type) = D1 ('MetaData "Backwards" "Control.Applicative.Backwards" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "Backwards" 'PrefixI 'True) (S1 ('MetaSel ('Just "forwards") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). Backwards f a -> Rep1 (Backwards f) a Source #

to1 :: forall (a :: k). Rep1 (Backwards f) a -> Backwards f a Source #

Generic1 (IdentityT f :: k -> Type) |

Instance details

Defined in Control.Monad.Trans.Identity

Associated Types

type Rep1 (IdentityT f :: k -> Type) |
Instance details Defined in Control.Monad.Trans.Identity type Rep1 (IdentityT f :: k -> Type) = D1 ('MetaData "IdentityT" "Control.Monad.Trans.Identity" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "IdentityT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentityT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). IdentityT f a -> Rep1 (IdentityT f) a Source #

to1 :: forall (a :: k). Rep1 (IdentityT f) a -> IdentityT f a Source #

Generic1 (Constant a :: k -> Type) |

Instance details

Defined in Data.Functor.Constant

Associated Types

type Rep1 (Constant a :: k -> Type) |
Instance details Defined in Data.Functor.Constant type Rep1 (Constant a :: k -> Type) = D1 ('MetaData "Constant" "Data.Functor.Constant" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "Constant" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConstant") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from1 :: forall (a0 :: k). Constant a a0 -> Rep1 (Constant a :: k -> Type) a0 Source #

to1 :: forall (a0 :: k). Rep1 (Constant a :: k -> Type) a0 -> Constant a a0 Source #

Generic1 (Reverse f :: k -> Type) |

Instance details

Defined in Data.Functor.Reverse

Associated Types

type Rep1 (Reverse f :: k -> Type) |
Instance details Defined in Data.Functor.Reverse type Rep1 (Reverse f :: k -> Type) = D1 ('MetaData "Reverse" "Data.Functor.Reverse" "transformers-0.6.1.1-inplace" 'True) (C1 ('MetaCons "Reverse" 'PrefixI 'True) (S1 ('MetaSel ('Just "getReverse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). Reverse f a -> Rep1 (Reverse f) a Source #

to1 :: forall (a :: k). Rep1 (Reverse f) a -> Reverse f a Source #

Generic1 ((,,,) a b c :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,) a b c :: Type -> Type) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,) a b c :: Type -> Type) = D1 ('MetaData "Tuple4" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))

Methods

from1 :: (a, b, c, a0) -> Rep1 ((,,,) a b c) a0 Source #

to1 :: Rep1 ((,,,) a b c) a0 -> (a, b, c, a0) Source #

Generic1 (Product f g :: k -> Type) |

Instance details

Defined in Data.Functor.Product

Associated Types

type Rep1 (Product f g :: k -> Type) | Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

type Rep1 (Product f g :: k -> Type) = D1 ('MetaData "Product" "Data.Functor.Product" "base" 'False) (C1 ('MetaCons "Pair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g)))

Methods

from1 :: forall (a :: k). Product f g a -> Rep1 (Product f g) a Source #

to1 :: forall (a :: k). Rep1 (Product f g) a -> Product f g a Source #

Generic1 (Sum f g :: k -> Type) |

Instance details

Defined in Data.Functor.Sum

Associated Types

type Rep1 (Sum f g :: k -> Type) | Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Sum

type Rep1 (Sum f g :: k -> Type) = D1 ('MetaData "Sum" "Data.Functor.Sum" "base" 'False) (C1 ('MetaCons "InL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)) :+: C1 ('MetaCons "InR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g)))

Methods

from1 :: forall (a :: k). Sum f g a -> Rep1 (Sum f g) a Source #

to1 :: forall (a :: k). Rep1 (Sum f g) a -> Sum f g a Source #

Generic1 (f :*: g :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (f :*: g :: k -> Type) | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 (f :*: g :: k -> Type) = D1 ('MetaData ":*:" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons ":*:" ('InfixI 'RightAssociative 6) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g)))

Methods

from1 :: forall (a :: k). (f :*: g) a -> Rep1 (f :*: g) a Source #

to1 :: forall (a :: k). Rep1 (f :*: g) a -> (f :*: g) a Source #

Generic1 (f :+: g :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (f :+: g :: k -> Type) | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 (f :+: g :: k -> Type) = D1 ('MetaData ":+:" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "L1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)) :+: C1 ('MetaCons "R1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g)))

Methods

from1 :: forall (a :: k). (f :+: g) a -> Rep1 (f :+: g) a Source #

to1 :: forall (a :: k). Rep1 (f :+: g) a -> (f :+: g) a Source #

Generic1 (K1 i c :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (K1 i c :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (K1 i c :: k -> Type) = D1 ('MetaData "K1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "K1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unK1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)))

Methods

from1 :: forall (a :: k). K1 i c a -> Rep1 (K1 i c :: k -> Type) a Source #

to1 :: forall (a :: k). Rep1 (K1 i c :: k -> Type) a -> K1 i c a Source #

Generic1 ((,,,,) a b c d :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,) a b c d :: Type -> Type) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,) a b c d :: Type -> Type) = D1 ('MetaData "Tuple5" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: (a, b, c, d, a0) -> Rep1 ((,,,,) a b c d) a0 Source #

to1 :: Rep1 ((,,,,) a b c d) a0 -> (a, b, c, d, a0) Source #

Functor f => Generic1 (Compose f g :: k -> Type) |

Instance details

Defined in Data.Functor.Compose

Associated Types

type Rep1 (Compose f g :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose type Rep1 (Compose f g :: k -> Type) = D1 ('MetaData "Compose" "Data.Functor.Compose" "base" 'True) (C1 ('MetaCons "Compose" 'PrefixI 'True) (S1 ('MetaSel ('Just "getCompose") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (f :.: Rec1 g)))

Methods

from1 :: forall (a :: k). Compose f g a -> Rep1 (Compose f g) a Source #

to1 :: forall (a :: k). Rep1 (Compose f g) a -> Compose f g a Source #

Functor f => Generic1 (f :.: g :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (f :.: g :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (f :.: g :: k -> Type) = D1 ('MetaData ":.:" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (f :.: Rec1 g)))

Methods

from1 :: forall (a :: k). (f :.: g) a -> Rep1 (f :.: g) a Source #

to1 :: forall (a :: k). Rep1 (f :.: g) a -> (f :.: g) a Source #

Generic1 (M1 i c f :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (M1 i c f :: k -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (M1 i c f :: k -> Type) = D1 ('MetaData "M1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "M1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unM1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). M1 i c f a -> Rep1 (M1 i c f) a Source #

to1 :: forall (a :: k). Rep1 (M1 i c f) a -> M1 i c f a Source #

Generic1 (Clown f a :: k1 -> Type) |

Instance details

Defined in Data.Bifunctor.Clown

Associated Types

type Rep1 (Clown f a :: k1 -> Type) |
Instance details Defined in Data.Bifunctor.Clown type Rep1 (Clown f a :: k1 -> Type) = D1 ('MetaData "Clown" "Data.Bifunctor.Clown" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Clown" 'PrefixI 'True) (S1 ('MetaSel ('Just "runClown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from1 :: forall (a0 :: k1). Clown f a a0 -> Rep1 (Clown f a :: k1 -> Type) a0 Source #

to1 :: forall (a0 :: k1). Rep1 (Clown f a :: k1 -> Type) a0 -> Clown f a a0 Source #

Generic1 (Joker g a :: k1 -> Type) |

Instance details

Defined in Data.Bifunctor.Joker

Associated Types

type Rep1 (Joker g a :: k1 -> Type) |
Instance details Defined in Data.Bifunctor.Joker type Rep1 (Joker g a :: k1 -> Type) = D1 ('MetaData "Joker" "Data.Bifunctor.Joker" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Joker" 'PrefixI 'True) (S1 ('MetaSel ('Just "runJoker") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g)))

Methods

from1 :: forall (a0 :: k1). Joker g a a0 -> Rep1 (Joker g a) a0 Source #

to1 :: forall (a0 :: k1). Rep1 (Joker g a) a0 -> Joker g a a0 Source #

Generic1 (WrappedBifunctor p a :: k1 -> Type) |

Instance details

Defined in Data.Bifunctor.Wrapped

Associated Types

type Rep1 (WrappedBifunctor p a :: k1 -> Type) |
Instance details Defined in Data.Bifunctor.Wrapped type Rep1 (WrappedBifunctor p a :: k1 -> Type) = D1 ('MetaData "WrappedBifunctor" "Data.Bifunctor.Wrapped" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "WrapBifunctor" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapBifunctor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (p a))))

Methods

from1 :: forall (a0 :: k1). WrappedBifunctor p a a0 -> Rep1 (WrappedBifunctor p a) a0 Source #

to1 :: forall (a0 :: k1). Rep1 (WrappedBifunctor p a) a0 -> WrappedBifunctor p a a0 Source #

Generic1 ((,,,,,) a b c d e :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,) a b c d e :: Type -> Type) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,) a b c d e :: Type -> Type) = D1 ('MetaData "Tuple6" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: (a, b, c, d, e, a0) -> Rep1 ((,,,,,) a b c d e) a0 Source #

to1 :: Rep1 ((,,,,,) a b c d e) a0 -> (a, b, c, d, e, a0) Source #

Generic1 (Product f g a :: k1 -> Type) |

Instance details

Defined in Data.Bifunctor.Product

Associated Types

type Rep1 (Product f g a :: k1 -> Type) |

Instance details

Defined in Data.Bifunctor.Product

type Rep1 (Product f g a :: k1 -> Type) = D1 ('MetaData "Product" "Data.Bifunctor.Product" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'False) (C1 ('MetaCons "Pair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (f a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (g a))))

Methods

from1 :: forall (a0 :: k1). Product f g a a0 -> Rep1 (Product f g a) a0 Source #

to1 :: forall (a0 :: k1). Rep1 (Product f g a) a0 -> Product f g a a0 Source #

Generic1 (Sum p q a :: k1 -> Type) |

Instance details

Defined in Data.Bifunctor.Sum

Associated Types

type Rep1 (Sum p q a :: k1 -> Type) |

Instance details

Defined in Data.Bifunctor.Sum

type Rep1 (Sum p q a :: k1 -> Type) = D1 ('MetaData "Sum" "Data.Bifunctor.Sum" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'False) (C1 ('MetaCons "L2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (p a))) :+: C1 ('MetaCons "R2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (q a))))

Methods

from1 :: forall (a0 :: k1). Sum p q a a0 -> Rep1 (Sum p q a) a0 Source #

to1 :: forall (a0 :: k1). Rep1 (Sum p q a) a0 -> Sum p q a a0 Source #

Generic1 ((,,,,,,) a b c d e f :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,) a b c d e f :: Type -> Type) | Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,) a b c d e f :: Type -> Type) = D1 ('MetaData "Tuple7" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,)" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: (a, b, c, d, e, f, a0) -> Rep1 ((,,,,,,) a b c d e f) a0 Source #

to1 :: Rep1 ((,,,,,,) a b c d e f) a0 -> (a, b, c, d, e, f, a0) Source #

Functor f => Generic1 (Tannen f p a :: k2 -> Type) |

Instance details

Defined in Data.Bifunctor.Tannen

Associated Types

type Rep1 (Tannen f p a :: k1 -> Type) |
Instance details Defined in Data.Bifunctor.Tannen type Rep1 (Tannen f p a :: k1 -> Type) = D1 ('MetaData "Tannen" "Data.Bifunctor.Tannen" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Tannen" 'PrefixI 'True) (S1 ('MetaSel ('Just "runTannen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (f :.: Rec1 (p a))))

Methods

from1 :: forall (a0 :: k2). Tannen f p a a0 -> Rep1 (Tannen f p a) a0 Source #

to1 :: forall (a0 :: k2). Rep1 (Tannen f p a) a0 -> Tannen f p a a0 Source #

Generic1 ((,,,,,,,) a b c d e f g :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,,) a b c d e f g :: Type -> Type) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,,) a b c d e f g :: Type -> Type) = D1 ('MetaData "Tuple8" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))))

Methods

from1 :: (a, b, c, d, e, f, g, a0) -> Rep1 ((,,,,,,,) a b c d e f g) a0 Source #

to1 :: Rep1 ((,,,,,,,) a b c d e f g) a0 -> (a, b, c, d, e, f, g, a0) Source #

Generic1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,,,) a b c d e f g h :: Type -> Type) = D1 ('MetaData "Tuple9" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: (a, b, c, d, e, f, g, h, a0) -> Rep1 ((,,,,,,,,) a b c d e f g h) a0 Source #

to1 :: Rep1 ((,,,,,,,,) a b c d e f g h) a0 -> (a, b, c, d, e, f, g, h, a0) Source #

Functor (p (f a)) => Generic1 (Biff p f g a :: k3 -> Type) |

Instance details

Defined in Data.Bifunctor.Biff

Associated Types

type Rep1 (Biff p f g a :: k3 -> Type) |
Instance details Defined in Data.Bifunctor.Biff type Rep1 (Biff p f g a :: k3 -> Type) = D1 ('MetaData "Biff" "Data.Bifunctor.Biff" "bifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu" 'True) (C1 ('MetaCons "Biff" 'PrefixI 'True) (S1 ('MetaSel ('Just "runBiff") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (p (f a) :.: Rec1 g)))

Methods

from1 :: forall (a0 :: k3). Biff p f g a a0 -> Rep1 (Biff p f g a) a0 Source #

to1 :: forall (a0 :: k3). Rep1 (Biff p f g a) a0 -> Biff p f g a a0 Source #

Generic1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,,,,) a b c d e f g h i :: Type -> Type) = D1 ('MetaData "Tuple10" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: (a, b, c, d, e, f, g, h, i, a0) -> Rep1 ((,,,,,,,,,) a b c d e f g h i) a0 Source #

to1 :: Rep1 ((,,,,,,,,,) a b c d e f g h i) a0 -> (a, b, c, d, e, f, g, h, i, a0) Source #

Generic1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,,,,,) a b c d e f g h i j :: Type -> Type) = D1 ('MetaData "Tuple11" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: (a, b, c, d, e, f, g, h, i, j, a0) -> Rep1 ((,,,,,,,,,,) a b c d e f g h i j) a0 Source #

to1 :: Rep1 ((,,,,,,,,,,) a b c d e f g h i j) a0 -> (a, b, c, d, e, f, g, h, i, j, a0) Source #

Generic1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k :: Type -> Type) = D1 ('MetaData "Tuple12" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: (a, b, c, d, e, f, g, h, i, j, k, a0) -> Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) a0 Source #

to1 :: Rep1 ((,,,,,,,,,,,) a b c d e f g h i j k) a0 -> (a, b, c, d, e, f, g, h, i, j, k, a0) Source #

Generic1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l :: Type -> Type) = D1 ('MetaData "Tuple13" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: (a, b, c, d, e, f, g, h, i, j, k, l, a0) -> Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) a0 Source #

to1 :: Rep1 ((,,,,,,,,,,,,) a b c d e f g h i j k l) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, a0) Source #

Generic1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m :: Type -> Type) = D1 ('MetaData "Tuple14" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, a0) -> Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) a0 Source #

to1 :: Rep1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, a0) Source #

Generic1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) | Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n :: Type -> Type) = D1 ('MetaData "Tuple15" "GHC.Tuple" "ghc-prim" 'False) (C1 ('MetaCons "(,,,,,,,,,,,,,,)" 'PrefixI 'False) (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 d) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 g)))) :*: (((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 h) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 i)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 j) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 k))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)))))

Methods

from1 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, a0) -> Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) a0 Source #

to1 :: Rep1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) a0 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, a0) Source #

## Type-level natural numbers

data Symbol Source #

(Kind) This is the kind of type-level symbols.

#### Instances

Instances details

SingKind Symbol | Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep Symbol |
Instance details Defined in GHC.Internal.Generics type DemoteRep Symbol = String

Methods

fromSing :: forall (a :: Symbol). Sing a -> DemoteRep Symbol

TestCoercion SSymbol | Since: base-4.18.0.0
Instance details Defined in GHC.Internal.TypeLits Methods testCoercion :: forall (a :: Symbol) (b :: Symbol). SSymbol a -> SSymbol b -> Maybe (Coercion a b) Source #
TestEquality SSymbol | Since: base-4.18.0.0
Instance details Defined in GHC.Internal.TypeLits Methods testEquality :: forall (a :: Symbol) (b :: Symbol). SSymbol a -> SSymbol b -> Maybe (a :~: b) Source #
KnownSymbol a => SingI (a :: Symbol) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods sing :: Sing a
KnownSymbol n => Reifies (n :: Symbol) String |
Instance details Defined in Data.Reflection Methods reflect :: proxy n -> String Source #
type MEmpty |
Instance details Defined in Fcf.Class.Monoid type MEmpty = ""
type DemoteRep Symbol |
Instance details Defined in GHC.Internal.Generics type DemoteRep Symbol = String
data Sing (s :: Symbol) |

Instance details

Defined in GHC.Internal.Generics

data Sing (s :: Symbol) where

- SSym :: forall (s :: Symbol). KnownSymbol s => Sing s

type (x :: Symbol) <> (y :: Symbol) |
Instance details Defined in Fcf.Class.Monoid type (x :: Symbol) <> (y :: Symbol) = AppendSymbol x y
type Compare (a :: Symbol) (b :: Symbol) |
Instance details Defined in GHC.Internal.Data.Type.Ord type Compare (a :: Symbol) (b :: Symbol) = CmpSymbol a b
type TryDomain t (Proxy dom) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSingleDomain type TryDomain t (Proxy dom) = 'Found dom
type HasDomain dom1 (Proxy dom2) Source # |
Instance details Defined in Clash.Class.HasDomain.HasSpecificDomain type HasDomain dom1 (Proxy dom2) = DomEq dom1 dom2

data Natural Source #

Natural number

Invariant: numbers <= 0xffffffffffffffff use the `NS` constructor

#### Instances

Instances details

PrintfArg Natural | Since: base-4.8.0.0
Instance details Defined in Text.Printf Methods formatArg :: Natural -> FieldFormatter Source # parseFormat :: Natural -> ModifierParser Source #
Binary Natural | Since: binary-0.7.3.0
Instance details Defined in Data.Binary.Class Methods put :: Natural -> Put Source # get :: Get Natural Source # putList :: [Natural] -> Put Source #
NFDataX Natural Source # |
Instance details Defined in Clash.XException Methods deepErrorX :: String -> Natural Source # hasUndefined :: Natural -> Bool Source # ensureSpine :: Natural -> Natural Source # rnfX :: Natural -> () Source #
ShowX Natural Source # |
Instance details Defined in Clash.XException Methods showsPrecX :: Int -> Natural -> ShowS Source # showX :: Natural -> String Source # showListX :: [Natural] -> ShowS Source #
NFData Natural | Since: deepseq-1.4.0.0
Instance details Defined in Control.DeepSeq Methods rnf :: Natural -> () Source #
Bits Natural | Since: base-4.8.0

Instance details

Defined in GHC.Internal.Bits

Methods

(.&.) :: Natural -> Natural -> Natural Source #

(.|.) :: Natural -> Natural -> Natural Source #

xor :: Natural -> Natural -> Natural Source #

complement :: Natural -> Natural Source #

shift :: Natural -> Int -> Natural Source #

rotate :: Natural -> Int -> Natural Source #

zeroBits :: Natural Source #

bit :: Int -> Natural Source #

setBit :: Natural -> Int -> Natural Source #

clearBit :: Natural -> Int -> Natural Source #

complementBit :: Natural -> Int -> Natural Source #

testBit :: Natural -> Int -> Bool Source #

bitSizeMaybe :: Natural -> Maybe Int Source #

bitSize :: Natural -> Int Source #

isSigned :: Natural -> Bool Source #

shiftL :: Natural -> Int -> Natural Source #

unsafeShiftL :: Natural -> Int -> Natural Source #

shiftR :: Natural -> Int -> Natural Source #

unsafeShiftR :: Natural -> Int -> Natural Source #

rotateL :: Natural -> Int -> Natural Source #

rotateR :: Natural -> Int -> Natural Source #

popCount :: Natural -> Int Source #

Data Natural | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Natural -> c Natural Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Natural Source #

toConstr :: Natural -> Constr Source #

dataTypeOf :: Natural -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Natural) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Natural) Source #

gmapT :: (forall b. Data b => b -> b) -> Natural -> Natural Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Natural -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Natural -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Natural -> m Natural Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural Source #

Enum Natural | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Enum

Methods

succ :: Natural -> Natural Source #

pred :: Natural -> Natural Source #

toEnum :: Int -> Natural Source #

fromEnum :: Natural -> Int Source #

enumFrom :: Natural -> [Natural] Source #

enumFromThen :: Natural -> Natural -> [Natural] Source #

enumFromTo :: Natural -> Natural -> [Natural] Source #

enumFromThenTo :: Natural -> Natural -> Natural -> [Natural] Source #

Ix Natural | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Ix Methods range :: (Natural, Natural) -> [Natural] Source # index :: (Natural, Natural) -> Natural -> Int Source # unsafeIndex :: (Natural, Natural) -> Natural -> Int Source # inRange :: (Natural, Natural) -> Natural -> Bool Source # rangeSize :: (Natural, Natural) -> Int Source # unsafeRangeSize :: (Natural, Natural) -> Int Source #
Num Natural | Note that `Natural`'s `Num` instance isn't a ring: no element but 0 has an additive inverse. It is a semiring though. Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Num Methods (+) :: Natural -> Natural -> Natural Source # (-) :: Natural -> Natural -> Natural Source # (*) :: Natural -> Natural -> Natural Source # negate :: Natural -> Natural Source # abs :: Natural -> Natural Source # signum :: Natural -> Natural Source # fromInteger :: Integer -> Natural Source #
Read Natural | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Read Methods readsPrec :: Int -> ReadS Natural Source # readList :: ReadS [Natural] Source # readPrec :: ReadPrec Natural Source # readListPrec :: ReadPrec [Natural] Source #
Integral Natural | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Real Methods quot :: Natural -> Natural -> Natural Source # rem :: Natural -> Natural -> Natural Source # div :: Natural -> Natural -> Natural Source # mod :: Natural -> Natural -> Natural Source # quotRem :: Natural -> Natural -> (Natural, Natural) Source # divMod :: Natural -> Natural -> (Natural, Natural) Source # toInteger :: Natural -> Integer Source #
Real Natural | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Real Methods toRational :: Natural -> Rational Source #
Show Natural | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Show Methods showsPrec :: Int -> Natural -> ShowS Source # show :: Natural -> String Source # showList :: [Natural] -> ShowS Source #
Eq Natural |
Instance details Defined in GHC.Num.Natural Methods (==) :: Natural -> Natural -> Bool Source # (/=) :: Natural -> Natural -> Bool Source #
Ord Natural |
Instance details Defined in GHC.Num.Natural Methods compare :: Natural -> Natural -> Ordering Source # (<) :: Natural -> Natural -> Bool Source # (<=) :: Natural -> Natural -> Bool Source # (>) :: Natural -> Natural -> Bool Source # (>=) :: Natural -> Natural -> Bool Source # max :: Natural -> Natural -> Natural Source # min :: Natural -> Natural -> Natural Source #
Hashable Natural |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Natural -> Int Source # hash :: Natural -> Int Source #
UniformRange Natural |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Natural, Natural) -> g -> m Natural
Corecursive Natural |

Instance details

Defined in Data.Functor.Foldable

Methods

embed :: Base Natural Natural -> Natural Source #

ana :: (a -> Base Natural a) -> a -> Natural Source #

apo :: (a -> Base Natural (Either Natural a)) -> a -> Natural Source #

postpro :: Recursive Natural => (forall b. Base Natural b -> Base Natural b) -> (a -> Base Natural a) -> a -> Natural Source #

gpostpro :: (Recursive Natural, Monad m) => (forall b. m (Base Natural b) -> Base Natural (m b)) -> (forall c. Base Natural c -> Base Natural c) -> (a -> Base Natural (m a)) -> a -> Natural Source #

Recursive Natural |

Instance details

Defined in Data.Functor.Foldable

Methods

project :: Natural -> Base Natural Natural Source #

cata :: (Base Natural a -> a) -> Natural -> a Source #

para :: (Base Natural (Natural, a) -> a) -> Natural -> a Source #

gpara :: (Corecursive Natural, Comonad w) => (forall b. Base Natural (w b) -> w (Base Natural b)) -> (Base Natural (EnvT Natural w a) -> a) -> Natural -> a Source #

prepro :: Corecursive Natural => (forall b. Base Natural b -> Base Natural b) -> (Base Natural a -> a) -> Natural -> a Source #

gprepro :: (Corecursive Natural, Comonad w) => (forall b. Base Natural (w b) -> w (Base Natural b)) -> (forall c. Base Natural c -> Base Natural c) -> (Base Natural (w a) -> a) -> Natural -> a Source #

KnownNat n => HasResolution (n :: Nat) | For example, `Fixed 1000` will give you a `Fixed` with a resolution of 1000.
Instance details Defined in Data.Fixed Methods resolution :: p n -> Integer Source #
TestCoercion SNat | Since: base-4.18.0.0
Instance details Defined in GHC.Internal.TypeNats Methods testCoercion :: forall (a :: Nat) (b :: Nat). SNat a -> SNat b -> Maybe (Coercion a b) Source #
TestEquality SNat | Since: base-4.18.0.0
Instance details Defined in GHC.Internal.TypeNats Methods testEquality :: forall (a :: Nat) (b :: Nat). SNat a -> SNat b -> Maybe (a :~: b) Source #
Lift Natural |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Natural -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Natural -> Code m Natural Source #
KnownNat n => Reifies (n :: Nat) Integer |
Instance details Defined in Data.Reflection Methods reflect :: proxy n -> Integer Source #
(KnownNat a, KnownNat b) => KnownBoolNat2 "GHC.Internal.Data.Type.Ord.<=?" (a :: Nat) (b :: Nat) |
Instance details Defined in GHC.TypeLits.KnownNat Methods boolNatSing2 :: SBoolKb "GHC.Internal.Data.Type.Ord.<=?" Source #
(KnownNat a, KnownNat b) => KnownBoolNat2 "GHC.Internal.Data.Type.Ord.OrdCond" (a :: Nat) (b :: Nat) |
Instance details Defined in GHC.TypeLits.KnownNat Methods boolNatSing2 :: SBoolKb "GHC.Internal.Data.Type.Ord.OrdCond" Source #
(KnownBool a, KnownNat b, KnownNat c) => KnownNat2Bool "GHC.Internal.Data.Type.Bool.If" a (b :: Nat) (c :: Nat) |
Instance details Defined in GHC.TypeLits.KnownNat Methods natBoolSing3 :: SNatKn "GHC.Internal.Data.Type.Bool.If" Source #
() :=> (Bits Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Bits Natural Source #
() :=> (Enum Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Enum Natural Source #
() :=> (Num Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Num Natural Source #
() :=> (Read Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Read Natural Source #
() :=> (Integral Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Integral Natural Source #
() :=> (Real Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Real Natural Source #
() :=> (Show Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Show Natural Source #
() :=> (Eq Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Eq Natural Source #
() :=> (Ord Natural) |
Instance details Defined in Data.Constraint Methods ins :: () :- Ord Natural Source #
Resize f => Resize (Compose Erroring f) Source # |

Instance details

Defined in Clash.Num.Erroring

Methods

resize :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Erroring f a -> Compose Erroring f b Source #

extend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Erroring f a -> Compose Erroring f (b + a) Source #

zeroExtend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Erroring f a -> Compose Erroring f (b + a) Source #

signExtend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Erroring f a -> Compose Erroring f (b + a) Source #

truncateB :: forall (a :: Nat) (b :: Natural). KnownNat a => Compose Erroring f (a + b) -> Compose Erroring f a Source #

Resize f => Resize (Compose Saturating f) Source # |

Instance details

Defined in Clash.Num.Saturating

Methods

resize :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Saturating f a -> Compose Saturating f b Source #

extend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Saturating f a -> Compose Saturating f (b + a) Source #

zeroExtend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Saturating f a -> Compose Saturating f (b + a) Source #

signExtend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Saturating f a -> Compose Saturating f (b + a) Source #

truncateB :: forall (a :: Nat) (b :: Natural). KnownNat a => Compose Saturating f (a + b) -> Compose Saturating f a Source #

Resize f => Resize (Compose Wrapping f) Source # |

Instance details

Defined in Clash.Num.Wrapping

Methods

resize :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Wrapping f a -> Compose Wrapping f b Source #

extend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Wrapping f a -> Compose Wrapping f (b + a) Source #

zeroExtend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Wrapping f a -> Compose Wrapping f (b + a) Source #

signExtend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Wrapping f a -> Compose Wrapping f (b + a) Source #

truncateB :: forall (a :: Nat) (b :: Natural). KnownNat a => Compose Wrapping f (a + b) -> Compose Wrapping f a Source #

Resize f => Resize (Compose Zeroing f) Source # |

Instance details

Defined in Clash.Num.Zeroing

Methods

resize :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Zeroing f a -> Compose Zeroing f b Source #

extend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Zeroing f a -> Compose Zeroing f (b + a) Source #

zeroExtend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Zeroing f a -> Compose Zeroing f (b + a) Source #

signExtend :: forall (a :: Nat) (b :: Nat). (KnownNat a, KnownNat b) => Compose Zeroing f a -> Compose Zeroing f (b + a) Source #

truncateB :: forall (a :: Nat) (b :: Natural). KnownNat a => Compose Zeroing f (a + b) -> Compose Zeroing f a Source #

type Base Natural |
Instance details Defined in Data.Functor.Foldable type Base Natural = Maybe
type TryDomain t Natural Source # |
Instance details Defined in Clash.Class.HasDomain.HasSingleDomain type TryDomain t Natural = 'NotFound
type Compare (a :: Natural) (b :: Natural) |
Instance details Defined in GHC.Internal.Data.Type.Ord type Compare (a :: Natural) (b :: Natural) = CmpNat a b
type Apply (VCons a :: TyFun Nat Type -> Type) (l :: Nat) Source # |
Instance details Defined in Clash.Sized.Vector type Apply (VCons a :: TyFun Nat Type -> Type) (l :: Nat) = Vec l a
type Eval (Sum ns :: Nat -> Type) |
Instance details Defined in Fcf.Class.Foldable type Eval (Sum ns :: Nat -> Type) = Eval (Foldr (+) 0 ns)
type Eval (Length ('[] :: [a]) :: Nat -> Type) |
Instance details Defined in Fcf.Data.List type Eval (Length ('[] :: [a]) :: Nat -> Type) = 0
type Eval (Length (a2 ': as) :: Nat -> Type) |
Instance details Defined in Fcf.Data.List type Eval (Length (a2 ': as) :: Nat -> Type) = 1 + Eval (Length as)
type Eval (a * b :: Nat -> Type) |
Instance details Defined in Fcf.Data.Nat type Eval (a * b :: Nat -> Type) = a * b
type Eval (a + b :: Nat -> Type) |
Instance details Defined in Fcf.Data.Nat type Eval (a + b :: Nat -> Type) = a + b
type Eval (a - b :: Nat -> Type) |
Instance details Defined in Fcf.Data.Nat type Eval (a - b :: Nat -> Type) = a - b
type Eval (a ^ b :: Nat -> Type) |
Instance details Defined in Fcf.Data.Nat type Eval (a ^ b :: Nat -> Type) = a ^ b
type Eval (FindIndex _p ('[] :: [a]) :: Maybe Nat -> Type) |
Instance details Defined in Fcf.Data.List type Eval (FindIndex _p ('[] :: [a]) :: Maybe Nat -> Type) = 'Nothing :: Maybe Nat
type Eval (FindIndex p (a2 ': as) :: Maybe Nat -> Type) |
Instance details Defined in Fcf.Data.List type Eval (FindIndex p (a2 ': as) :: Maybe Nat -> Type) = Eval (If (Eval (p a2)) (Pure ('Just 0)) ((Map ((+) 1) :: Maybe Nat -> Maybe Nat -> Type) =<< FindIndex p as))
type Eval (NumIter a s :: Maybe (k, Nat) -> Type) |
Instance details Defined in Fcf.Data.List type Eval (NumIter a s :: Maybe (k, Nat) -> Type) = If (Eval (s > 0)) ('Just '(a, s - 1)) ('Nothing :: Maybe (k, Natural))

type family (a :: Natural) - (b :: Natural) :: Natural where ... infixl 6 Source #

Subtraction of type-level naturals.

Since: base-4.7.0.0

class KnownNat (n :: Nat) where Source #

This class gives the integer associated with a type-level natural. There are instances of the class for every concrete literal: 0, 1, 2, etc.

Since: base-4.7.0.0

Methods

natSing :: SNat n Source #

class KnownSymbol (n :: Symbol) where Source #

This class gives the string associated with a type-level symbol. There are instances of the class for every concrete literal: "hello", etc.

Since: base-4.7.0.0

Methods

symbolSing :: SSymbol n Source #

class KnownChar (n :: Char) where Source #

Since: base-4.16.0.0

Methods

charSing :: SChar n Source #

type family TypeError (a :: ErrorMessage) :: b where ... Source #

The type-level equivalent of `error`.

The polymorphic kind of this type allows it to be used in several settings. For instance, it can be used as a constraint, e.g. to provide a better error message for a non-existent instance,

    -- in a context
    instance TypeError (Text "Cannot Show functions." :$$:
                        Text "Perhaps there is a missing argument?")
          => Show (a -> b) where
        showsPrec = error "unreachable"

It can also be placed on the right-hand side of a type-level function to provide an error for an invalid case,

    type family ByteSize x where
       ByteSize Word16   = 2
       ByteSize Word8    = 1
       ByteSize a        = TypeError (Text "The type " :<>: ShowType a :<>:
                                      Text " is not exportable.")

Since: base-4.9.0.0

type family AppendSymbol (a :: Symbol) (b :: Symbol) :: Symbol where ... Source #

Concatenation of type-level symbols.

Since: base-4.10.0.0

type family (a :: Natural) + (b :: Natural) :: Natural where ... infixl 6 Source #

Addition of type-level naturals.

Since: base-4.7.0.0

type family (a :: Natural) * (b :: Natural) :: Natural where ... infixl 7 Source #

Multiplication of type-level naturals.

Since: base-4.7.0.0

type family (a :: Natural) ^ (b :: Natural) :: Natural where ... infixr 8 Source #

Exponentiation of type-level naturals.

Since: base-4.7.0.0

type family CmpSymbol (a :: Symbol) (b :: Symbol) :: Ordering where ... Source #

Comparison of type-level symbols, as a function.

Since: base-4.7.0.0

type family CmpNat (a :: Natural) (b :: Natural) :: Ordering where ... Source #

Comparison of type-level naturals, as a function.

Since: base-4.7.0.0

type family CmpChar (a :: Char) (b :: Char) :: Ordering where ... Source #

Comparison of type-level characters.

Since: base-4.16.0.0

type family Div (a :: Natural) (b :: Natural) :: Natural where ... infixl 7 Source #

Division (round down) of natural numbers. `Div x 0` is undefined (i.e., it cannot be reduced).

Since: base-4.11.0.0

type family Mod (a :: Natural) (b :: Natural) :: Natural where ... infixl 7 Source #

Modulus of natural numbers. `Mod x 0` is undefined (i.e., it cannot be reduced).

Since: base-4.11.0.0

type family Log2 (a :: Natural) :: Natural where ... Source #

Log base 2 (round down) of natural numbers. `Log 0` is undefined (i.e., it cannot be reduced).

Since: base-4.11.0.0

type family ConsSymbol (a :: Char) (b :: Symbol) :: Symbol where ... Source #

Extending a type-level symbol with a type-level character

Since: base-4.16.0.0

type family UnconsSymbol (a :: Symbol) :: Maybe (Char, Symbol) where ... Source #

This type family yields type-level `Just` storing the first character of a symbol and its tail if it is defined and `Nothing` otherwise.

Since: base-4.16.0.0

type family CharToNat (a :: Char) :: Natural where ... Source #

Convert a character to its Unicode code point (cf. `ord`)

Since: base-4.16.0.0

type family NatToChar (a :: Natural) :: Char where ... Source #

Convert a Unicode code point to a character (cf. `chr`)

Since: base-4.16.0.0

data ErrorMessage Source #

A description of a custom type error.

Constructors

Text Symbol | Show the text as is.
ShowType t | Pretty print the type. `ShowType :: k -> ErrorMessage`
ErrorMessage :<>: ErrorMessage infixl 6 | Put two pieces of error message next to each other.
ErrorMessage :$$: ErrorMessage infixl 5 | Stack two pieces of error message on top of each other.

type (<=) (x :: t) (y :: t) = Assert (x <=? y) (LeErrMsg x y :: Constraint) infix 4 Source #

Comparison (<=) of comparable types, as a constraint.

Since: base-4.16.0.0

type (<=?) (m :: k) (n :: k) = OrdCond (Compare m n) 'True 'True 'False infix 4 Source #

Comparison (<=) of comparable types, as a function.

Since: base-4.16.0.0

data OrderingI (a :: k) (b :: k) where Source #

Ordering data type for type literals that provides proof of their ordering.

Since: base-4.16.0.0

Constructors

LTI :: forall {k} (a :: k) (b :: k). Compare a b ~ 'LT => OrderingI a b |
EQI :: forall {k} (a :: k). Compare a a ~ 'EQ => OrderingI a a |
GTI :: forall {k} (a :: k) (b :: k). Compare a b ~ 'GT => OrderingI a b |

#### Instances

Instances details

Show (OrderingI a b) |
Instance details Defined in GHC.Internal.Data.Type.Ord Methods showsPrec :: Int -> OrderingI a b -> ShowS Source # show :: OrderingI a b -> String Source # showList :: [OrderingI a b] -> ShowS Source #
Eq (OrderingI a b) |
Instance details Defined in GHC.Internal.Data.Type.Ord Methods (==) :: OrderingI a b -> OrderingI a b -> Bool Source # (/=) :: OrderingI a b -> OrderingI a b -> Bool Source #

data SomeNat Source #

This type represents unknown type-level natural numbers.

Since: base-4.10.0.0

Constructors

KnownNat n => SomeNat (Proxy n) |

#### Instances

Instances details

Read SomeNat | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.TypeNats Methods readsPrec :: Int -> ReadS SomeNat Source # readList :: ReadS [SomeNat] Source # readPrec :: ReadPrec SomeNat Source # readListPrec :: ReadPrec [SomeNat] Source #
Show SomeNat | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.TypeNats Methods showsPrec :: Int -> SomeNat -> ShowS Source # show :: SomeNat -> String Source # showList :: [SomeNat] -> ShowS Source #
Eq SomeNat | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.TypeNats Methods (==) :: SomeNat -> SomeNat -> Bool Source # (/=) :: SomeNat -> SomeNat -> Bool Source #
Ord SomeNat | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.TypeNats Methods compare :: SomeNat -> SomeNat -> Ordering Source # (<) :: SomeNat -> SomeNat -> Bool Source # (<=) :: SomeNat -> SomeNat -> Bool Source # (>) :: SomeNat -> SomeNat -> Bool Source # (>=) :: SomeNat -> SomeNat -> Bool Source # max :: SomeNat -> SomeNat -> SomeNat Source # min :: SomeNat -> SomeNat -> SomeNat Source #

type Nat = Natural Source #

A type synonym for `Natural`.

Previously, this was an opaque data type, but it was changed to a type synonym.

Since: base-4.16.0.0

natVal :: forall (n :: Nat) proxy. KnownNat n => proxy n -> Integer Source #

Since: base-4.7.0.0

natVal' :: forall (n :: Nat). KnownNat n => Proxy# n -> Integer Source #

Since: base-4.8.0.0

someNatVal :: Integer -> Maybe SomeNat Source #

Convert an integer into an unknown type-level natural.

Since: base-4.7.0.0

sameNat :: forall (a :: Nat) (b :: Nat) proxy1 proxy2. (KnownNat a, KnownNat b) => proxy1 a -> proxy2 b -> Maybe (a :~: b) Source #

We either get evidence that this function was instantiated with the same type-level numbers, or `Nothing`.

Since: base-4.7.0.0

decideNat :: forall (a :: Nat) (b :: Nat) proxy1 proxy2. (KnownNat a, KnownNat b) => proxy1 a -> proxy2 b -> Either ((a :~: b) -> Void) (a :~: b) Source #

We either get evidence that this function was instantiated with the same type-level numbers, or that the type-level numbers are distinct.

Since: base-4.19.0.0

cmpNat :: forall (a :: Nat) (b :: Nat) proxy1 proxy2. (KnownNat a, KnownNat b) => proxy1 a -> proxy2 b -> OrderingI a b Source #

Like `sameNat`, but if the numbers aren't equal, this additionally provides proof of LT or GT.

Since: base-4.16.0.0

withKnownNat :: forall (n :: Nat) r. SNat n -> (KnownNat n => r) -> r Source #

Convert an explicit ``SNat` n` value into an implicit ``KnownNat` n` constraint.

Since: base-4.18.0.0

withSomeSNat :: Integer -> (forall (n :: Nat). Maybe (SNat n) -> r) -> r Source #

Attempt to convert an `Integer` into an ``SNat` n` value, where `n` is a fresh type-level natural number. If the `Integer` argument is non-negative, invoke the continuation with `Just sn`, where `sn` is the ``SNat` n` value. If the `Integer` argument is negative, invoke the continuation with `Nothing`.

For a version of this function where the continuation uses `'SNat` n`instead of` `Maybe` (`SNat` n)@, see `withSomeSNat` in GHC.TypeNats.

Since: base-4.18.0.0

data SChar (s :: Char) Source #

A value-level witness for a type-level character. This is commonly referred to as a singleton type, as for each `c`, there is a single value that inhabits the type ``SChar` c` (aside from bottom).

The definition of `SChar` is intentionally left abstract. To obtain an `SChar` value, use one of the following:

1. The `charSing` method of `KnownChar`.
2. The `SChar` pattern synonym.
3. The `withSomeSChar` function, which creates an `SChar` from a `Char`.

Since: base-4.18.0.0

#### Instances

Instances details

TestCoercion SChar | Since: base-4.18.0.0
Instance details Defined in GHC.Internal.TypeLits Methods testCoercion :: forall (a :: Char) (b :: Char). SChar a -> SChar b -> Maybe (Coercion a b) Source #
TestEquality SChar | Since: base-4.18.0.0
Instance details Defined in GHC.Internal.TypeLits Methods testEquality :: forall (a :: Char) (b :: Char). SChar a -> SChar b -> Maybe (a :~: b) Source #
Show (SChar c) | Since: base-4.18.0.0
Instance details Defined in GHC.Internal.TypeLits Methods showsPrec :: Int -> SChar c -> ShowS Source # show :: SChar c -> String Source # showList :: [SChar c] -> ShowS Source #
Eq (SChar c) | Since: base-4.19.0.0
Instance details Defined in GHC.Internal.TypeLits Methods (==) :: SChar c -> SChar c -> Bool Source # (/=) :: SChar c -> SChar c -> Bool Source #
Ord (SChar c) | Since: base-4.19.0.0
Instance details Defined in GHC.Internal.TypeLits Methods compare :: SChar c -> SChar c -> Ordering Source # (<) :: SChar c -> SChar c -> Bool Source # (<=) :: SChar c -> SChar c -> Bool Source # (>) :: SChar c -> SChar c -> Bool Source # (>=) :: SChar c -> SChar c -> Bool Source # max :: SChar c -> SChar c -> SChar c Source # min :: SChar c -> SChar c -> SChar c Source #

pattern SChar :: () => KnownChar c => SChar c Source #

A explicitly bidirectional pattern synonym relating an `SChar` to a `KnownChar` constraint.

As an expression: Constructs an explicit ``SChar` c` value from an implicit ``KnownChar` c` constraint:

    SChar @c :: KnownChar c => SChar c

As a pattern: Matches on an explicit ``SChar` c` value bringing an implicit ``KnownChar` c` constraint into scope:

    f :: SChar c -> ..
    f SChar = {- KnownChar c in scope -}

Since: base-4.18.0.0

data SomeChar Source #

Constructors

KnownChar n => SomeChar (Proxy n) |

#### Instances

Instances details

Read SomeChar |
Instance details Defined in GHC.Internal.TypeLits Methods readsPrec :: Int -> ReadS SomeChar Source # readList :: ReadS [SomeChar] Source # readPrec :: ReadPrec SomeChar Source # readListPrec :: ReadPrec [SomeChar] Source #
Show SomeChar |
Instance details Defined in GHC.Internal.TypeLits Methods showsPrec :: Int -> SomeChar -> ShowS Source # show :: SomeChar -> String Source # showList :: [SomeChar] -> ShowS Source #
Eq SomeChar |
Instance details Defined in GHC.Internal.TypeLits Methods (==) :: SomeChar -> SomeChar -> Bool Source # (/=) :: SomeChar -> SomeChar -> Bool Source #
Ord SomeChar |
Instance details Defined in GHC.Internal.TypeLits Methods compare :: SomeChar -> SomeChar -> Ordering Source # (<) :: SomeChar -> SomeChar -> Bool Source # (<=) :: SomeChar -> SomeChar -> Bool Source # (>) :: SomeChar -> SomeChar -> Bool Source # (>=) :: SomeChar -> SomeChar -> Bool Source # max :: SomeChar -> SomeChar -> SomeChar Source # min :: SomeChar -> SomeChar -> SomeChar Source #

data SomeSymbol Source #

This type represents unknown type-level symbols.

Constructors

KnownSymbol n => SomeSymbol (Proxy n) | Since: base-4.7.0.0

#### Instances

Instances details

Read SomeSymbol | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.TypeLits Methods readsPrec :: Int -> ReadS SomeSymbol Source # readList :: ReadS [SomeSymbol] Source # readPrec :: ReadPrec SomeSymbol Source # readListPrec :: ReadPrec [SomeSymbol] Source #
Show SomeSymbol | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.TypeLits Methods showsPrec :: Int -> SomeSymbol -> ShowS Source # show :: SomeSymbol -> String Source # showList :: [SomeSymbol] -> ShowS Source #
Eq SomeSymbol | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.TypeLits Methods (==) :: SomeSymbol -> SomeSymbol -> Bool Source # (/=) :: SomeSymbol -> SomeSymbol -> Bool Source #
Ord SomeSymbol | Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.TypeLits

Methods

compare :: SomeSymbol -> SomeSymbol -> Ordering Source #

(<) :: SomeSymbol -> SomeSymbol -> Bool Source #

(<=) :: SomeSymbol -> SomeSymbol -> Bool Source #

(>) :: SomeSymbol -> SomeSymbol -> Bool Source #

(>=) :: SomeSymbol -> SomeSymbol -> Bool Source #

max :: SomeSymbol -> SomeSymbol -> SomeSymbol Source #

min :: SomeSymbol -> SomeSymbol -> SomeSymbol Source #

symbolVal :: forall (n :: Symbol) proxy. KnownSymbol n => proxy n -> String Source #

Since: base-4.7.0.0

symbolVal' :: forall (n :: Symbol). KnownSymbol n => Proxy# n -> String Source #

Since: base-4.8.0.0

charVal :: forall (n :: Char) proxy. KnownChar n => proxy n -> Char Source #

charVal' :: forall (n :: Char). KnownChar n => Proxy# n -> Char Source #

someSymbolVal :: String -> SomeSymbol Source #

Convert a string into an unknown type-level symbol.

Since: base-4.7.0.0

someCharVal :: Char -> SomeChar Source #

Convert a character into an unknown type-level char.

Since: base-4.16.0.0

sameSymbol :: forall (a :: Symbol) (b :: Symbol) proxy1 proxy2. (KnownSymbol a, KnownSymbol b) => proxy1 a -> proxy2 b -> Maybe (a :~: b) Source #

We either get evidence that this function was instantiated with the same type-level symbols, or `Nothing`.

Since: base-4.7.0.0

decideSymbol :: forall (a :: Symbol) (b :: Symbol) proxy1 proxy2. (KnownSymbol a, KnownSymbol b) => proxy1 a -> proxy2 b -> Either ((a :~: b) -> Void) (a :~: b) Source #

We either get evidence that this function was instantiated with the same type-level symbols, or that the type-level symbols are distinct.

Since: base-4.19.0.0

sameChar :: forall (a :: Char) (b :: Char) proxy1 proxy2. (KnownChar a, KnownChar b) => proxy1 a -> proxy2 b -> Maybe (a :~: b) Source #

We either get evidence that this function was instantiated with the same type-level characters, or `Nothing`.

Since: base-4.16.0.0

decideChar :: forall (a :: Char) (b :: Char) proxy1 proxy2. (KnownChar a, KnownChar b) => proxy1 a -> proxy2 b -> Either ((a :~: b) -> Void) (a :~: b) Source #

We either get evidence that this function was instantiated with the same type-level characters, or that the type-level characters are distinct.

Since: base-4.19.0.0

cmpSymbol :: forall (a :: Symbol) (b :: Symbol) proxy1 proxy2. (KnownSymbol a, KnownSymbol b) => proxy1 a -> proxy2 b -> OrderingI a b Source #

Like `sameSymbol`, but if the symbols aren't equal, this additionally provides proof of LT or GT.

Since: base-4.16.0.0

cmpChar :: forall (a :: Char) (b :: Char) proxy1 proxy2. (KnownChar a, KnownChar b) => proxy1 a -> proxy2 b -> OrderingI a b Source #

Like `sameChar`, but if the Chars aren't equal, this additionally provides proof of LT or GT.

Since: base-4.16.0.0

fromSSymbol :: forall (s :: Symbol). SSymbol s -> String Source #

Return the String corresponding to `s` in an ``SSymbol` s` value.

Since: base-4.18.0.0

withKnownSymbol :: forall (s :: Symbol) r. SSymbol s -> (KnownSymbol s => r) -> r Source #

Convert an explicit ``SSymbol` s` value into an implicit ``KnownSymbol` s` constraint.

Since: base-4.18.0.0

withSomeSSymbol :: String -> (forall (s :: Symbol). SSymbol s -> r) -> r Source #

Convert a `String` into an ``SSymbol` s` value, where `s` is a fresh type-level symbol.

Since: base-4.18.0.0

fromSChar :: forall (c :: Char). SChar c -> Char Source #

Return the `Char` corresponding to `c` in an ``SChar` c` value.

Since: base-4.18.0.0

withKnownChar :: forall (c :: Char) r. SChar c -> (KnownChar c => r) -> r Source #

Convert an explicit ``SChar` c` value into an implicit ``KnownChar` c` constraint.

Since: base-4.18.0.0

withSomeSChar :: Char -> (forall (c :: Char). SChar c -> r) -> r Source #

Convert a `Char` into an ``SChar` c` value, where `c` is a fresh type-level character.

Since: base-4.18.0.0

module GHC.TypeLits.Extra

module Clash.Promoted.Nat

module Clash.Promoted.Nat.Literals

module Clash.Promoted.Nat.TH

## Type-level strings

module Clash.Promoted.Symbol

## Template Haskell

class Lift (t :: TYPE r) where Source #

A `Lift` instance can have any of its values turned into a Template Haskell expression. This is needed when a value used within a Template Haskell quotation is bound outside the Oxford brackets (`[| ... |]` or `[|| ... ||]`) but not at the top level. As an example:

    add1 :: Int -> Code Q Int
    add1 x = [|| x + 1 ||]

Template Haskell has no way of knowing what value `x` will take on at splice-time, so it requires the type of `x` to be an instance of `Lift`.

A `Lift` instance must satisfy `$(lift x) ≡ x` and `$$(liftTyped x) ≡ x` for all `x`, where `$(...)` and `$$(...)` are Template Haskell splices. It is additionally expected that ``lift` x ≡ `unTypeCode` (`liftTyped` x)`.

`Lift` instances can be derived automatically by use of the `-XDeriveLift` GHC language extension:

    {-# LANGUAGE DeriveLift #-}
    module Foo where

    import Language.Haskell.TH.Syntax

    data Bar a = Bar1 a (Bar a) | Bar2 String
      deriving Lift

Representation-polymorphic since template-haskell-2.16.0.0.

Minimal complete definition

liftTyped

Methods

lift :: Quote m => t -> m Exp Source #

Turn a value into a Template Haskell expression, suitable for use in a splice.

default lift :: forall m. (r ~ LiftedRep, Quote m) => t -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => t -> Code m t Source #

Turn a value into a Template Haskell typed expression, suitable for use in a typed splice.

Since: template-haskell-2.16.0.0

#### Instances

Instances details

Lift Addr# | Produces an `Addr#` literal from the NUL-terminated C-string starting at the given memory address. Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Addr# -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Addr# -> Code m Addr# Source #
Lift Double# | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Double# -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Double# -> Code m Double# Source #
Lift Float# | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Float# -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Float# -> Code m Float# Source #
Lift Int# | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int# -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int# -> Code m Int# Source #
Lift ByteArray | Since: template-haskell-2.19.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => ByteArray -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => ByteArray -> Code m ByteArray Source #
Lift ByteString | Since: bytestring-0.11.2.0
Instance details Defined in Data.ByteString.Internal.Type Methods lift :: Quote m => ByteString -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => ByteString -> Code m ByteString Source #
Lift ByteString |
Instance details Defined in Data.ByteString.Lazy.Internal Methods lift :: Quote m => ByteString -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => ByteString -> Code m ByteString Source #
Lift ShortByteString |
Instance details Defined in Data.ByteString.Short.Internal Methods lift :: Quote m => ShortByteString -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => ShortByteString -> Code m ShortByteString Source #
Lift ConstrRepr Source # |
Instance details Defined in Clash.Annotations.BitRepresentation Methods lift :: Quote m => ConstrRepr -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => ConstrRepr -> Code m ConstrRepr Source #
Lift DataReprAnn Source # |
Instance details Defined in Clash.Annotations.BitRepresentation Methods lift :: Quote m => DataReprAnn -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => DataReprAnn -> Code m DataReprAnn Source #
Lift PortName Source # |
Instance details Defined in Clash.Annotations.TopEntity Methods lift :: Quote m => PortName -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => PortName -> Code m PortName Source #
Lift TopEntity Source # |
Instance details Defined in Clash.Annotations.TopEntity Methods lift :: Quote m => TopEntity -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => TopEntity -> Code m TopEntity Source #
Lift Femtoseconds Source # |
Instance details Defined in Clash.Signal.Internal Methods lift :: Quote m => Femtoseconds -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Femtoseconds -> Code m Femtoseconds Source #
Lift Bit Source # |
Instance details Defined in Clash.Sized.Internal.BitVector Methods lift :: Quote m => Bit -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Bit -> Code m Bit Source #
Lift IntSet | Since: containers-0.6.6
Instance details Defined in Data.IntSet.Internal Methods lift :: Quote m => IntSet -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => IntSet -> Code m IntSet Source #
Lift Void | Since: template-haskell-2.15.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Void -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Void -> Code m Void Source #
Lift Int16 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int16 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int16 -> Code m Int16 Source #
Lift Int32 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int32 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int32 -> Code m Int32 Source #
Lift Int64 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int64 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int64 -> Code m Int64 Source #
Lift Int8 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int8 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int8 -> Code m Int8 Source #
Lift Word16 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word16 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word16 -> Code m Word16 Source #
Lift Word32 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word32 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word32 -> Code m Word32 Source #
Lift Word64 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word64 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word64 -> Code m Word64 Source #
Lift Word8 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word8 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word8 -> Code m Word8 Source #
Lift Half |
Instance details Defined in Numeric.Half.Internal Methods lift :: Quote m => Half -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Half -> Code m Half Source #
Lift OsString |
Instance details Defined in System.OsString.Internal.Types Methods lift :: Quote m => OsString -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => OsString -> Code m OsString Source #
Lift PosixString |
Instance details Defined in System.OsString.Internal.Types Methods lift :: Quote m => PosixString -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => PosixString -> Code m PosixString Source #
Lift WindowsString |
Instance details Defined in System.OsString.Internal.Types Methods lift :: Quote m => WindowsString -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => WindowsString -> Code m WindowsString Source #
Lift AnnTarget |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => AnnTarget -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => AnnTarget -> Code m AnnTarget Source #
Lift Bang |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Bang -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Bang -> Code m Bang Source #
Lift BndrVis |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => BndrVis -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => BndrVis -> Code m BndrVis Source #
Lift Body |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Body -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Body -> Code m Body Source #
Lift Bytes |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Bytes -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Bytes -> Code m Bytes Source #
Lift Callconv |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Callconv -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Callconv -> Code m Callconv Source #
Lift Clause |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Clause -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Clause -> Code m Clause Source #
Lift Con |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Con -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Con -> Code m Con Source #
Lift Dec |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Dec -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Dec -> Code m Dec Source #
Lift DerivClause |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => DerivClause -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => DerivClause -> Code m DerivClause Source #
Lift DerivStrategy |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => DerivStrategy -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => DerivStrategy -> Code m DerivStrategy Source #
Lift Exp |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Exp -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Exp -> Code m Exp Source #
Lift FamilyResultSig |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => FamilyResultSig -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => FamilyResultSig -> Code m FamilyResultSig Source #
Lift Fixity |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Fixity -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Fixity -> Code m Fixity Source #
Lift FixityDirection |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => FixityDirection -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => FixityDirection -> Code m FixityDirection Source #
Lift Foreign |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Foreign -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Foreign -> Code m Foreign Source #
Lift FunDep |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => FunDep -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => FunDep -> Code m FunDep Source #
Lift Guard |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Guard -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Guard -> Code m Guard Source #
Lift Info |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Info -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Info -> Code m Info Source #
Lift InjectivityAnn |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => InjectivityAnn -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => InjectivityAnn -> Code m InjectivityAnn Source #
Lift Inline |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Inline -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Inline -> Code m Inline Source #
Lift Lit |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Lit -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Lit -> Code m Lit Source #
Lift Loc |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Loc -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Loc -> Code m Loc Source #
Lift Match |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Match -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Match -> Code m Match Source #
Lift ModName |
Instance details Defined in Language.Haskell.TH.Lift Methods lift :: Quote m => ModName -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => ModName -> Code m ModName Source #
Lift Name |
Instance details Defined in Language.Haskell.TH.Lift Methods lift :: Quote m => Name -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Name -> Code m Name Source #
Lift NameFlavour |
Instance details Defined in Language.Haskell.TH.Lift Methods lift :: Quote m => NameFlavour -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => NameFlavour -> Code m NameFlavour Source #
Lift NameSpace |
Instance details Defined in Language.Haskell.TH.Lift Methods lift :: Quote m => NameSpace -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => NameSpace -> Code m NameSpace Source #
Lift NamespaceSpecifier |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => NamespaceSpecifier -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => NamespaceSpecifier -> Code m NamespaceSpecifier Source #
Lift OccName |
Instance details Defined in Language.Haskell.TH.Lift Methods lift :: Quote m => OccName -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => OccName -> Code m OccName Source #
Lift Overlap |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Overlap -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Overlap -> Code m Overlap Source #
Lift Pat |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Pat -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Pat -> Code m Pat Source #
Lift PatSynArgs |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => PatSynArgs -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => PatSynArgs -> Code m PatSynArgs Source #
Lift PatSynDir |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => PatSynDir -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => PatSynDir -> Code m PatSynDir Source #
Lift Phases |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Phases -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Phases -> Code m Phases Source #
Lift PkgName |
Instance details Defined in Language.Haskell.TH.Lift Methods lift :: Quote m => PkgName -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => PkgName -> Code m PkgName Source #
Lift Pragma |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Pragma -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Pragma -> Code m Pragma Source #
Lift Range |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Range -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Range -> Code m Range Source #
Lift Role |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Role -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Role -> Code m Role Source #
Lift RuleBndr |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => RuleBndr -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => RuleBndr -> Code m RuleBndr Source #
Lift RuleMatch |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => RuleMatch -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => RuleMatch -> Code m RuleMatch Source #
Lift Safety |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Safety -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Safety -> Code m Safety Source #
Lift SourceStrictness |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => SourceStrictness -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => SourceStrictness -> Code m SourceStrictness Source #
Lift SourceUnpackedness |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => SourceUnpackedness -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => SourceUnpackedness -> Code m SourceUnpackedness Source #
Lift Specificity |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Specificity -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Specificity -> Code m Specificity Source #
Lift Stmt |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Stmt -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Stmt -> Code m Stmt Source #
Lift TyLit |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => TyLit -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => TyLit -> Code m TyLit Source #
Lift TySynEqn |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => TySynEqn -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => TySynEqn -> Code m TySynEqn Source #
Lift Type |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => Type -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Type -> Code m Type Source #
Lift TypeFamilyHead |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => TypeFamilyHead -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => TypeFamilyHead -> Code m TypeFamilyHead Source #
Lift Text | Since: text-1.2.4.0
Instance details Defined in Data.Text Methods lift :: Quote m => Text -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Text -> Code m Text Source #
Lift Text | Since: text-1.2.4.0
Instance details Defined in Data.Text.Lazy Methods lift :: Quote m => Text -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Text -> Code m Text Source #
Lift Integer |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Integer -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Integer -> Code m Integer Source #
Lift Natural |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Natural -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Natural -> Code m Natural Source #
Lift () |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => () -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => () -> Code m () Source #
Lift Bool |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Bool -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Bool -> Code m Bool Source #
Lift Char |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Char -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Char -> Code m Char Source #
Lift Double |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Double -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Double -> Code m Double Source #
Lift Float |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Float -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Float -> Code m Float Source #
Lift Int |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int -> Code m Int Source #
Lift Word |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word -> Code m Word Source #
Lift Char# | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Char# -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Char# -> Code m Char# Source #
Lift Word# | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word# -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word# -> Code m Word# Source #
Lift (# #) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# #) -> Code m (# #) Source #
Lift a => Lift (Attr a :: Type) Source # |
Instance details Defined in Clash.Annotations.SynthesisAttributes Methods lift :: Quote m => Attr a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Attr a -> Code m (Attr a) Source #
Lift (SNat n :: Type) Source # |
Instance details Defined in Clash.Promoted.Nat Methods lift :: Quote m => SNat n -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => SNat n -> Code m (SNat n) Source #
KnownSymbol s => Lift (SSymbol s :: Type) Source # |
Instance details Defined in Clash.Promoted.Symbol Methods lift :: Quote m => SSymbol s -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => SSymbol s -> Code m (SSymbol s) Source #
KnownNat n => Lift (BitVector n :: Type) Source # |
Instance details Defined in Clash.Sized.Internal.BitVector Methods lift :: Quote m => BitVector n -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => BitVector n -> Code m (BitVector n) Source #
KnownNat n => Lift (Index n :: Type) Source # |
Instance details Defined in Clash.Sized.Internal.Index Methods lift :: Quote m => Index n -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Index n -> Code m (Index n) Source #
KnownNat n => Lift (Signed n :: Type) Source # |
Instance details Defined in Clash.Sized.Internal.Signed Methods lift :: Quote m => Signed n -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Signed n -> Code m (Signed n) Source #
KnownNat n => Lift (Unsigned n :: Type) Source # |
Instance details Defined in Clash.Sized.Internal.Unsigned Methods lift :: Quote m => Unsigned n -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Unsigned n -> Code m (Unsigned n) Source #
Lift vertex => Lift (SCC vertex :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Graph Methods lift :: Quote m => SCC vertex -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => SCC vertex -> Code m (SCC vertex) Source #
Lift a => Lift (IntMap a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.IntMap.Internal Methods lift :: Quote m => IntMap a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => IntMap a -> Code m (IntMap a) Source #
Lift a => Lift (Digit a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Sequence.Internal Methods lift :: Quote m => Digit a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Digit a -> Code m (Digit a) Source #
Lift a => Lift (FingerTree a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Sequence.Internal Methods lift :: Quote m => FingerTree a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => FingerTree a -> Code m (FingerTree a) Source #
Lift a => Lift (Node a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Sequence.Internal Methods lift :: Quote m => Node a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Node a -> Code m (Node a) Source #
Lift a => Lift (Seq a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Sequence.Internal Methods lift :: Quote m => Seq a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Seq a -> Code m (Seq a) Source #
Lift a => Lift (ViewL a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Sequence.Internal Methods lift :: Quote m => ViewL a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => ViewL a -> Code m (ViewL a) Source #
Lift a => Lift (ViewR a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Sequence.Internal Methods lift :: Quote m => ViewR a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => ViewR a -> Code m (ViewR a) Source #
Lift a => Lift (Set a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Set.Internal Methods lift :: Quote m => Set a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Set a -> Code m (Set a) Source #
Lift a => Lift (Tree a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Tree Methods lift :: Quote m => Tree a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Tree a -> Code m (Tree a) Source #
Lift a => Lift (NonEmpty a :: Type) | Since: template-haskell-2.15.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => NonEmpty a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => NonEmpty a -> Code m (NonEmpty a) Source #
Integral a => Lift (Ratio a :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Ratio a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Ratio a -> Code m (Ratio a) Source #
Lift a => Lift (Array a :: Type) |
Instance details Defined in Data.Primitive.Array Methods lift :: Quote m => Array a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Array a -> Code m (Array a) Source #
Lift (PrimArray a :: Type) |
Instance details Defined in Data.Primitive.PrimArray Methods lift :: Quote m => PrimArray a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => PrimArray a -> Code m (PrimArray a) Source #
Lift a => Lift (SmallArray a :: Type) |
Instance details Defined in Data.Primitive.SmallArray Methods lift :: Quote m => SmallArray a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => SmallArray a -> Code m (SmallArray a) Source #
Lift flag => Lift (TyVarBndr flag :: Type) |
Instance details Defined in Language.Haskell.TH.Instances Methods lift :: Quote m => TyVarBndr flag -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => TyVarBndr flag -> Code m (TyVarBndr flag) Source #
Lift a => Lift (HashSet a :: Type) |
Instance details Defined in Data.HashSet.Internal Methods lift :: Quote m => HashSet a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => HashSet a -> Code m (HashSet a) Source #
Lift a => Lift (Maybe a :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Maybe a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Maybe a -> Code m (Maybe a) Source #
Lift a => Lift ([a] :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => [a] -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => [a] -> Code m [a] Source #
Lift (Fixed a :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Fixed a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Fixed a -> Code m (Fixed a) Source #
Lift a => Lift (Signal dom a :: Type) Source # |
Instance details Defined in Clash.Signal.Internal Methods lift :: Quote m => Signal dom a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Signal dom a -> Code m (Signal dom a) Source #
Lift a => Lift (RTree d a :: Type) Source # |
Instance details Defined in Clash.Sized.RTree Methods lift :: Quote m => RTree d a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => RTree d a -> Code m (RTree d a) Source #
Lift a => Lift (Vec n a :: Type) Source # |
Instance details Defined in Clash.Sized.Vector Methods lift :: Quote m => Vec n a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Vec n a -> Code m (Vec n a) Source #
(Lift k, Lift a) => Lift (Map k a :: Type) | Since: containers-0.6.6
Instance details Defined in Data.Map.Internal Methods lift :: Quote m => Map k a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Map k a -> Code m (Map k a) Source #
(Lift a, Lift b) => Lift (Either a b :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Either a b -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Either a b -> Code m (Either a b) Source #
(Lift k, Lift v) => Lift (HashMap k v :: Type) |
Instance details Defined in Data.HashMap.Internal Methods lift :: Quote m => HashMap k v -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => HashMap k v -> Code m (HashMap k v) Source #
(Lift k, Lift v) => Lift (Leaf k v :: Type) |
Instance details Defined in Data.HashMap.Internal Methods lift :: Quote m => Leaf k v -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Leaf k v -> Code m (Leaf k v) Source #
(Lift a, Lift b) => Lift ((a, b) :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (a, b) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (a, b) -> Code m (a, b) Source #
Lift a => Lift (DSignal dom delay a :: Type) Source # |
Instance details Defined in Clash.Signal.Delayed.Internal Methods lift :: Quote m => DSignal dom delay a -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => DSignal dom delay a -> Code m (DSignal dom delay a) Source #
(Lift (rep (int + frac)), KnownNat frac, KnownNat int, Typeable rep) => Lift (Fixed rep int frac :: Type) Source # |
Instance details Defined in Clash.Sized.Fixed Methods lift :: Quote m => Fixed rep int frac -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Fixed rep int frac -> Code m (Fixed rep int frac) Source #
(Lift a, Lift b, Lift c) => Lift ((a, b, c) :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (a, b, c) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c) -> Code m (a, b, c) Source #
(Lift a, Lift b, Lift c, Lift d) => Lift ((a, b, c, d) :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (a, b, c, d) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c, d) -> Code m (a, b, c, d) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((a, b, c, d, e) :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (a, b, c, d, e) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c, d, e) -> Code m (a, b, c, d, e) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((a, b, c, d, e, f) :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (a, b, c, d, e, f) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c, d, e, f) -> Code m (a, b, c, d, e, f) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((a, b, c, d, e, f, g) :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (a, b, c, d, e, f, g) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (a, b, c, d, e, f, g) -> Code m (a, b, c, d, e, f, g) Source #
Lift a => Lift ((# a #) :: TYPE ('TupleRep '[LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a #) -> Code m (# a #) Source #
(Lift a, Lift b) => Lift ((# a | b #) :: TYPE ('SumRep '[LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a | b #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b #) -> Code m (# a | b #) Source #
(Lift a, Lift b) => Lift ((# a, b #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a, b #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b #) -> Code m (# a, b #) Source #
(Lift a, Lift b, Lift c) => Lift ((# a | b | c #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a | b | c #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c #) -> Code m (# a | b | c #) Source #
(Lift a, Lift b, Lift c) => Lift ((# a, b, c #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a, b, c #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c #) -> Code m (# a, b, c #) Source #
(Lift a, Lift b, Lift c, Lift d) => Lift ((# a | b | c | d #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a | b | c | d #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c | d #) -> Code m (# a | b | c | d #) Source #
(Lift a, Lift b, Lift c, Lift d) => Lift ((# a, b, c, d #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a, b, c, d #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c, d #) -> Code m (# a, b, c, d #) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((# a | b | c | d | e #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a | b | c | d | e #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c | d | e #) -> Code m (# a | b | c | d | e #) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e) => Lift ((# a, b, c, d, e #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a, b, c, d, e #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c, d, e #) -> Code m (# a, b, c, d, e #) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((# a | b | c | d | e | f #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a | b | c | d | e | f #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c | d | e | f #) -> Code m (# a | b | c | d | e | f #) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift ((# a, b, c, d, e, f #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a, b, c, d, e, f #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c, d, e, f #) -> Code m (# a, b, c, d, e, f #) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((# a | b | c | d | e | f | g #) :: TYPE ('SumRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a | b | c | d | e | f | g #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a | b | c | d | e | f | g #) -> Code m (# a | b | c | d | e | f | g #) Source #
(Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift ((# a, b, c, d, e, f, g #) :: TYPE ('TupleRep '[LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep, LiftedRep])) | Since: template-haskell-2.16.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => (# a, b, c, d, e, f, g #) -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => (# a, b, c, d, e, f, g #) -> Code m (# a, b, c, d, e, f, g #) Source #

## Type classes

### Clash

class NFDataX a => AutoReg a Source #

`autoReg` is a "smart" version of `register`. It does two things:

1. It splits product types over their fields. For example, given a 3-tuple, the corresponding HDL will end up with three instances of a register (or more if the three fields can be split up similarly).
2. Given a data type where a constructor indicates (parts) of the data will (not) be updated a given cycle, it will split the data in two parts. The first part will contain the "always interesting" parts (the constructor bits). The second holds the "potentially uninteresting" data (the rest). Both parts will be stored in separate registers. The register holding the "potentially uninteresting" part will only be enabled if the constructor bits indicate they're interesting.

The most important example of this is `Maybe`. Consider `Maybe (Signed 16)`; when viewed as bits, a `Nothing` would look like:

    >>> pack @(Maybe (Signed 16)) Nothing
    0b0_...._...._...._....

and `Just`

    >>> pack @(Maybe (Signed 16)) (Just 3)
    0b1_0000_0000_0000_0011

In the first case, Nothing, we don't particularly care about updating the register holding the `Signed 16` field, as they'll be unknown anyway. We can therefore deassert its enable line.

Making Clash lay it out like this increases the chances of synthesis tools clock gating the registers, saving energy.

This version of `autoReg` will split the given data type up recursively. For example, given `a :: Maybe (Maybe Int, Maybe Int)`, a total of five registers will be rendered. Both the "interesting" and "uninteresting" enable lines of the inner Maybe types will be controlled by the outer one, in addition to the inner parts controlling their "uninteresting" parts as described in (2).

The default implementation is just `register`. If you don't need or want the special features of AutoReg, you can use that by writing an empty instance.

    data MyDataType = ...
    instance AutoReg MyDataType

If you have a product type you can use `deriveAutoReg` to derive an instance.

#### Instances

Instances details

AutoReg Bit Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Bit -> Signal dom Bit -> Signal dom Bit Source #
AutoReg CUShort Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> CUShort -> Signal dom CUShort -> Signal dom CUShort Source #
AutoReg Int16 Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Int16 -> Signal dom Int16 -> Signal dom Int16 Source #
AutoReg Int32 Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Int32 -> Signal dom Int32 -> Signal dom Int32 Source #
AutoReg Int64 Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Int64 -> Signal dom Int64 -> Signal dom Int64 Source #
AutoReg Int8 Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Int8 -> Signal dom Int8 -> Signal dom Int8 Source #
AutoReg Word16 Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Word16 -> Signal dom Word16 -> Signal dom Word16 Source #
AutoReg Word32 Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Word32 -> Signal dom Word32 -> Signal dom Word32 Source #
AutoReg Word64 Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Word64 -> Signal dom Word64 -> Signal dom Word64 Source #
AutoReg Word8 Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Word8 -> Signal dom Word8 -> Signal dom Word8 Source #
AutoReg Half Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Half -> Signal dom Half -> Signal dom Half Source #
AutoReg Integer Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Integer -> Signal dom Integer -> Signal dom Integer Source #
AutoReg () Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> () -> Signal dom () -> Signal dom () Source #
AutoReg Bool Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Bool -> Signal dom Bool -> Signal dom Bool Source #
AutoReg Char Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Char -> Signal dom Char -> Signal dom Char Source #
AutoReg Double Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Double -> Signal dom Double -> Signal dom Double Source #
AutoReg Float Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Float -> Signal dom Float -> Signal dom Float Source #
AutoReg Int Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Int -> Signal dom Int -> Signal dom Int Source #
AutoReg Word Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Word -> Signal dom Word -> Signal dom Word Source #
AutoReg a => AutoReg (Complex a) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Complex a -> Signal dom (Complex a) -> Signal dom (Complex a) Source #
KnownNat n => AutoReg (BitVector n) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> BitVector n -> Signal dom (BitVector n) -> Signal dom (BitVector n) Source #
AutoReg (Index n) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Index n -> Signal dom (Index n) -> Signal dom (Index n) Source #
AutoReg (Signed n) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Signed n -> Signal dom (Signed n) -> Signal dom (Signed n) Source #
AutoReg (Unsigned n) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Unsigned n -> Signal dom (Unsigned n) -> Signal dom (Unsigned n) Source #
AutoReg a => AutoReg (Down a) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Down a -> Signal dom (Down a) -> Signal dom (Down a) Source #
AutoReg a => AutoReg (Ratio a) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Ratio a -> Signal dom (Ratio a) -> Signal dom (Ratio a) Source #
AutoReg a => AutoReg (Maybe a) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Maybe a -> Signal dom (Maybe a) -> Signal dom (Maybe a) Source #
(AutoReg a, KnownNat n) => AutoReg (RamOp n a) Source # |
Instance details Defined in Clash.Explicit.BlockRam Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> RamOp n a -> Signal dom (RamOp n a) -> Signal dom (RamOp n a) Source #
(KnownNat d, AutoReg a) => AutoReg (RTree d a) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> RTree d a -> Signal dom (RTree d a) -> Signal dom (RTree d a) Source #
(KnownNat n, AutoReg a) => AutoReg (Vec n a) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Vec n a -> Signal dom (Vec n a) -> Signal dom (Vec n a) Source #
(AutoReg a, AutoReg b) => AutoReg (a, b) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b) -> Signal dom (a, b) -> Signal dom (a, b) Source #
NFDataX (rep (int + frac)) => AutoReg (Fixed rep int frac) Source # |
Instance details Defined in Clash.Class.AutoReg.Internal Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> Fixed rep int frac -> Signal dom (Fixed rep int frac) -> Signal dom (Fixed rep int frac) Source #
(AutoReg a, AutoReg b, AutoReg c) => AutoReg (a, b, c) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c) -> Signal dom (a, b, c) -> Signal dom (a, b, c) Source #
(AutoReg a, AutoReg b, AutoReg c, AutoReg d) => AutoReg (a, b, c, d) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d) -> Signal dom (a, b, c, d) -> Signal dom (a, b, c, d) Source #
(AutoReg a, AutoReg b, AutoReg c, AutoReg d, AutoReg e) => AutoReg (a, b, c, d, e) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d, e) -> Signal dom (a, b, c, d, e) -> Signal dom (a, b, c, d, e) Source #
(AutoReg a, AutoReg b, AutoReg c, AutoReg d, AutoReg e, AutoReg f) => AutoReg (a, b, c, d, e, f) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d, e, f) -> Signal dom (a, b, c, d, e, f) -> Signal dom (a, b, c, d, e, f) Source #
(AutoReg a, AutoReg b, AutoReg c, AutoReg d, AutoReg e, AutoReg f, AutoReg g) => AutoReg (a, b, c, d, e, f, g) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d, e, f, g) -> Signal dom (a, b, c, d, e, f, g) -> Signal dom (a, b, c, d, e, f, g) Source #
(AutoReg a, AutoReg b, AutoReg c, AutoReg d, AutoReg e, AutoReg f, AutoReg g, AutoReg h) => AutoReg (a, b, c, d, e, f, g, h) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d, e, f, g, h) -> Signal dom (a, b, c, d, e, f, g, h) -> Signal dom (a, b, c, d, e, f, g, h) Source #
(AutoReg a, AutoReg b, AutoReg c, AutoReg d, AutoReg e, AutoReg f, AutoReg g, AutoReg h, AutoReg i) => AutoReg (a, b, c, d, e, f, g, h, i) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d, e, f, g, h, i) -> Signal dom (a, b, c, d, e, f, g, h, i) -> Signal dom (a, b, c, d, e, f, g, h, i) Source #
(AutoReg a, AutoReg b, AutoReg c, AutoReg d, AutoReg e, AutoReg f, AutoReg g, AutoReg h, AutoReg i, AutoReg j) => AutoReg (a, b, c, d, e, f, g, h, i, j) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d, e, f, g, h, i, j) -> Signal dom (a, b, c, d, e, f, g, h, i, j) -> Signal dom (a, b, c, d, e, f, g, h, i, j) Source #
(AutoReg a, AutoReg b, AutoReg c, AutoReg d, AutoReg e, AutoReg f, AutoReg g, AutoReg h, AutoReg i, AutoReg j, AutoReg k) => AutoReg (a, b, c, d, e, f, g, h, i, j, k) Source # |
Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d, e, f, g, h, i, j, k) -> Signal dom (a, b, c, d, e, f, g, h, i, j, k) -> Signal dom (a, b, c, d, e, f, g, h, i, j, k) Source #

(AutoReg a, AutoReg b, AutoReg c, AutoReg d, AutoReg e, AutoReg f, AutoReg g, AutoReg h, AutoReg i, AutoReg j, AutoReg k, AutoReg l) => AutoReg (a, b, c, d, e, f, g, h, i, j, k, l) Source #

NB: The documentation only shows instances up to 3-tuples. By default, instances up to and including 12-tuples will exist. If the flag `large-tuples` is set instances up to the GHC imposed limit will exist. The GHC imposed limit is either 62 or 64 depending on the GHC version.

Instance details Defined in Clash.Class.AutoReg.Instances Methods autoReg :: forall (dom :: Domain). (HasCallStack, KnownDomain dom) => Clock dom -> Reset dom -> Enable dom -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Signal dom (a, b, c, d, e, f, g, h, i, j, k, l) -> Signal dom (a, b, c, d, e, f, g, h, i, j, k, l) Source #

autoReg :: forall (dom :: Domain) a. (HasCallStack, HiddenClockResetEnable dom, AutoReg a) => a -> Signal dom a -> Signal dom a Source #

Implicit version of `autoReg`

deriveAutoReg :: Name -> DecsQ Source #

Automatically derives an `AutoReg` instance for a product type

Usage:

    data Pair a b = MkPair { getA :: a, getB :: b } deriving (Generic, NFDataX)
    data Tup3 a b c = MkTup3 { getAB :: Pair a b, getC :: c } deriving (Generic, NFDataX)
    deriveAutoReg ''Pair
    deriveAutoReg ''Tup3

NB: Because of the way template haskell works the order here matters, if you try to `deriveAutoReg ''Tup3` before `Pair` it will complain about missing an `instance AutoReg (Pair a b)`.

module Clash.Class.BitPack

module Clash.Class.Exp

module Clash.Class.Num

module Clash.Class.Parity

module Clash.Class.Resize

### Other

module Control.Applicative

module Data.Bits

module Data.Default.Class

type Type = TYPE LiftedRep Source #

The kind of types with lifted values. For example `Int :: Type`.

type Constraint = CONSTRAINT LiftedRep Source #

The kind of lifted constraints

## Exceptions

module Clash.XException

## Named types

module Clash.NamedTypes

## Hidden arguments

module Clash.Hidden

## Magic

module Clash.Magic

## Haskell Prelude

Clash.Prelude re-exports most of the Haskell Prelude with the exception of those functions that the Clash API defines to work on `Vec` from Clash.Sized.Vector instead of on lists as the Haskell Prelude does. In addition, for the `odd` and `even` functions a type class called `Parity` is available at Clash.Class.Parity.

module Clash.HaskellPrelude