# The NHC.Bit library

This document describes the interface to the NHC.Bit library, originally from the Haskell 1.3 library specification.

      module NHC.Bit where

      infixl  7 ^&
      infixl  6 ^|
      infixl  5 `xor`
      infixl  8 ^<<
      infixl  8 ^>>
      infixl  8 `asr`
      infixl  8 `rol`
      infixl  8 `ror`

      class Integral a => Bits a where
          (^&)    :: a -> a -> a		-- bit-wise and
          (^|)    :: a -> a -> a		-- bit-wise or
          xor     :: a -> a -> a		-- bit-wise xor
          compl   :: a -> a			-- bit-wise complement
          (^<<)   :: a -> Int -> a		-- left shift
          (^>>)   :: a -> Int -> a		-- right shift
          asr     :: a -> Int -> a		-- arithmetic right shift
          rol     :: a -> Int -> a		-- rotate left
          ror     :: a -> Int -> a		-- rotate right
          test    :: Int -> a -> Bool	-- report n'th bit
          set     :: Int -> a -> a		-- set n'th bit
          clear   :: Int -> a -> a		-- clean n'th bit
          bitSize :: a -> Int		-- bit-width of type (not value)

      instance Bits Int where ...

The latest updates to these pages are available on the WWW from `http://www.cs.york.ac.uk/fp/nhc98/`

1998.03.26
York Functional Programming Group