| Copyright | (c) 2011 National Institute of Aerospace / Galois Inc. |
|---|---|
| Safe Haskell | Safe |
| Language | Haskell2010 |
Copilot.Core
Description
The following articles might also be useful:
- Carette, Jacques and Kiselyov, Oleg and Shan, Chung-chieh, "Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages", Journal of Functional Programming vol. 19, p. 509-543, 2009.
- Guillemette, Louis-Julien and Monnier, Stefan, "Type-Safe Code Transformations in Haskell", Electronic Notes in Theoretical Computer Science vol. 174, p. 23-39, 2007.
For examples of how to traverse a Copilot specification see
the source code of the interpreter (copilot-interpreter)
and the pretty-printer (copilot-prettyprinter).
Documentation
module Copilot.Core.Expr
module Copilot.Core.Operators
module Copilot.Core.Spec
module Copilot.Core.Type
module Copilot.Core.Type.Array
Instances
| PrintfArg Int | |||||
Defined in Text.Printf | |||||
| Bits Int | |||||
Defined in GHC.Internal.Bits Methods complement :: Int -> Int complementBit :: Int -> Int -> Int bitSizeMaybe :: Int -> Maybe Int unsafeShiftL :: Int -> Int -> Int unsafeShiftR :: Int -> Int -> Int | |||||
| FiniteBits Int | |||||
Defined in GHC.Internal.Bits | |||||
| Bounded Int | |||||
Defined in GHC.Internal.Enum | |||||
| Enum Int | |||||
| Num Int | |||||
| Integral Int | |||||
| Real Int | |||||
Defined in GHC.Internal.Real Methods toRational :: Int -> Rational | |||||
| Show Int | |||||
| Eq Int | |||||
| Ord Int | |||||
| Generic1 (URec Int :: k -> Type) | |||||
Defined in GHC.Internal.Generics Associated Types
| |||||
| Foldable (UInt :: Type -> Type) | |||||
Defined in GHC.Internal.Data.Foldable Methods fold :: Monoid m => UInt m -> m foldMap :: Monoid m => (a -> m) -> UInt a -> m foldMap' :: Monoid m => (a -> m) -> UInt a -> m foldr :: (a -> b -> b) -> b -> UInt a -> b foldr' :: (a -> b -> b) -> b -> UInt a -> b foldl :: (b -> a -> b) -> b -> UInt a -> b foldl' :: (b -> a -> b) -> b -> UInt a -> b foldr1 :: (a -> a -> a) -> UInt a -> a foldl1 :: (a -> a -> a) -> UInt a -> a toList :: UInt a -> [a] null :: UInt a -> Bool elem :: Eq a => a -> UInt a -> Bool maximum :: Ord a => UInt a -> a minimum :: Ord a => UInt a -> a sum :: Num a => UInt a -> a product :: Num a => UInt a -> a | |||||
| Functor (URec Int :: Type -> Type) | |||||
| Generic (URec Int p) | |||||
Defined in GHC.Internal.Generics Associated Types
| |||||
| Show (URec Int p) | |||||
| Eq (URec Int p) | |||||
| Ord (URec Int p) | |||||
| data URec Int (p :: k) | |||||
Defined in GHC.Internal.Generics | |||||
| type Rep1 (URec Int :: k -> Type) | |||||
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))) | |||||
| type Rep (URec Int p) | |||||
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))) | |||||
Instances
Instances
Instances
Instances
| PrintfArg Int8 | |
Defined in Text.Printf | |
| Typed Int8 Source # | |
Defined in Copilot.Core.Type | |
| Bits Int8 | |
Defined in GHC.Internal.Int | |
| FiniteBits Int8 | |
Defined in GHC.Internal.Int Methods finiteBitSize :: Int8 -> Int countLeadingZeros :: Int8 -> Int countTrailingZeros :: Int8 -> Int | |
| Bounded Int8 | |
Defined in GHC.Internal.Int | |
| Enum Int8 | |
| Ix Int8 | |
| Num Int8 | |
| Read Int8 | |
Defined in GHC.Internal.Int | |
| Integral Int8 | |
| Real Int8 | |
Defined in GHC.Internal.Int Methods toRational :: Int8 -> Rational | |
| Show Int8 | |
| Eq Int8 | |
| Ord Int8 | |
Instances
| PrintfArg Word | |||||
Defined in Text.Printf | |||||
| Bits Word | |||||
Defined in GHC.Internal.Bits | |||||
| FiniteBits Word | |||||
Defined in GHC.Internal.Bits Methods finiteBitSize :: Word -> Int countLeadingZeros :: Word -> Int countTrailingZeros :: Word -> Int | |||||
| Bounded Word | |||||
Defined in GHC.Internal.Enum | |||||
| Enum Word | |||||
| Num Word | |||||
| Integral Word | |||||
| Real Word | |||||
Defined in GHC.Internal.Real Methods toRational :: Word -> Rational | |||||
| Show Word | |||||
| Eq Word | |||||
| Ord Word | |||||
| Generic1 (URec Word :: k -> Type) | |||||
Defined in GHC.Internal.Generics Associated Types
| |||||
| Foldable (UWord :: Type -> Type) | |||||
Defined in GHC.Internal.Data.Foldable Methods fold :: Monoid m => UWord m -> m foldMap :: Monoid m => (a -> m) -> UWord a -> m foldMap' :: Monoid m => (a -> m) -> UWord a -> m foldr :: (a -> b -> b) -> b -> UWord a -> b foldr' :: (a -> b -> b) -> b -> UWord a -> b foldl :: (b -> a -> b) -> b -> UWord a -> b foldl' :: (b -> a -> b) -> b -> UWord a -> b foldr1 :: (a -> a -> a) -> UWord a -> a foldl1 :: (a -> a -> a) -> UWord a -> a toList :: UWord a -> [a] null :: UWord a -> Bool elem :: Eq a => a -> UWord a -> Bool maximum :: Ord a => UWord a -> a minimum :: Ord a => UWord a -> a sum :: Num a => UWord a -> a product :: Num a => UWord a -> a | |||||
| Functor (URec Word :: Type -> Type) | |||||
| Generic (URec Word p) | |||||
Defined in GHC.Internal.Generics Associated Types
| |||||
| Show (URec Word p) | |||||
| Eq (URec Word p) | |||||
| Ord (URec Word p) | |||||
Defined in GHC.Internal.Generics | |||||
| data URec Word (p :: k) | |||||
Defined in GHC.Internal.Generics | |||||
| type Rep1 (URec Word :: k -> Type) | |||||
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))) | |||||
| type Rep (URec Word p) | |||||
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))) | |||||
Instances
Instances
Instances
Instances
bitReverse16 :: Word16 -> Word16 #
bitReverse32 :: Word32 -> Word32 #
bitReverse64 :: Word64 -> Word64 #
bitReverse8 :: Word8 -> Word8 #
byteSwap16 :: Word16 -> Word16 #
byteSwap32 :: Word32 -> Word32 #
byteSwap64 :: Word64 -> Word64 #