clash-prelude-0.11.1: CAES Language for Synchronous Hardware - Prelude library

Copyright(C) 2017 QBayLogic
LicenseBSD2 (see the file LICENSE)
MaintainerChristiaan Baaij <christiaan.baaij@gmail.com>
Safe HaskellSafe
LanguageHaskell2010
Extensions
  • PolyKinds
  • KindSignatures
  • TypeOperators
  • ExplicitNamespaces

CLaSH.NamedTypes

Description

Add inline documentation to types:

fifo
  :: SClock clk
  -> SNat addrSize
  -> "read request" ::: Signal' clk Bool
  -> "write request" ::: Signal' clk (Maybe (BitVector dataSize))
  -> ( "q"     ::: Signal' clk (BitVector dataSize)
     , "full"  ::: Signal' clk Bool
     , "empty" ::: Signal' clk Bool
     )

which can subsequently be inspected in the interactive environment:

>>> :t fifo systemClock
fifo systemClock
  :: SNat addrSize
     -> "read request" ::: Signal' SystemClock Bool
     -> "write request"
        ::: Signal' SystemClock (Maybe (BitVector dataSize))
     -> ("q" ::: Signal' SystemClock (BitVector dataSize),
         "full" ::: Signal' SystemClock Bool,
         "empty" ::: Signal' SystemClock Bool)

Synopsis

Documentation

type (:::) name a = a Source #

Annotate a type with a name