Hoogle Search

Within LTS Haskell 24.34 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. startStepHook :: BringUpToDateHooks (m :: Type -> Type) -> Int -> Text -> m ()

    beam-migrate Database.Beam.Migrate.Simple

    Called at the beginning of each step with the step index and description

  2. data MigrationStep be next

    beam-migrate Database.Beam.Migrate.Types

    Represents a particular step in a migration

  3. MigrationStep :: forall be a next . Text -> Migration be a -> (a -> next) -> MigrationStep be next

    beam-migrate Database.Beam.Migrate.Types

    No documentation available.

  4. newtype MigrationSteps be from to

    beam-migrate Database.Beam.Migrate.Types

    A series of MigrationSteps that take a database from the schema in from to the one in to. Use the migrationStep function and the arrow interface to sequence MigrationSteps.

  5. MigrationSteps :: Kleisli (F (MigrationStep be)) from to -> MigrationSteps be from to

    beam-migrate Database.Beam.Migrate.Types

    No documentation available.

  6. migrationStep :: Text -> (a -> Migration be a') -> MigrationSteps be a a'

    beam-migrate Database.Beam.Migrate.Types

    Create a MigrationSteps from the given description and migration function.

  7. runMigrationSteps :: Monad m => Int -> Maybe Int -> MigrationSteps be () a -> (forall a' . () => Int -> Text -> Migration be a' -> m a') -> m a

    beam-migrate Database.Beam.Migrate.Types

    Run the migration steps between the given indices, using a custom execution function.

  8. class LockStep a b

    clash-prelude Clash.Prelude.DataFlow

    Reduce or extend the synchronization granularity of parallel compositions.

  9. lockStep :: forall (dom :: Domain) . LockStep a b => DataFlow dom a Bool b b

    clash-prelude Clash.Prelude.DataFlow

    Reduce the synchronization granularity to a single Boolean value. Given:

    f :: DataFlow Bool Bool a b
    g :: DataFlow Bool Bool c d
    h :: DataFlow Bool Bool (b,d) (p,q)
    
    We cannot simply write:
    (f `parDF` g) `seqDF` h
    
    because, f `parDF` g, has type, DataFlow (Bool,Bool) (Bool,Bool) (a,c) (b,d), which does not match the expected synchronization granularity of h. We need a circuit in between that has the type:
    DataFlow (Bool,Bool) Bool (b,d) (b,d)
    
    Simply &&-ing the valid signals in the forward direction, and duplicating the ready signal in the backward direction is however not enough. We also need to make sure that f does not update its output when g's output is invalid and visa versa, as h can only consume its input when both f and g are producing valid data. g's ready port is hence only asserted when h is ready and f is producing valid data. And f's ready port is only asserted when h is ready and g is producing valid data. f and g will hence be proceeding in lock-step. The lockStep function ensures that all synchronization signals are properly connected:
    (f `parDF` g) `seqDF` lockStep `seqDF` h
    
    Note 1: ensure that the components that you are synchronizing have buffered/delayed ready and valid signals, or lockStep has the potential to introduce combinational loops. You can do this by placing fifoDFs on the parallel channels. Extending the above example, you would write:
    ((f `seqDF` fifoDF d4 Nil) `parDF` (g `seqDF` fifoDF d4 Nil)) `seqDF` lockStep `seqDF` h
    
    Note 2: lockStep works for arbitrarily nested tuples. That is:
    p :: DataFlow Bool Bool ((b,d),d) z
    
    q :: DataFlow ((Bool,Bool),Bool) ((Bool,Bool),Bool) ((a,c),c) ((b,d),d)
    q = f `parDF` g `parDF` g
    
    r = q `seqDF` lockStep `seqDF` p
    
    Does the right thing.

  10. expandBFStepped :: (Int, Int) -> BaseField -> Int -> Maybe EField

    cron System.Cron.Internal.Check

    No documentation available.

Page 58 of many | Previous | Next