Hoogle Search

Within LTS Haskell 24.58 (ghc-9.10.3)

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

  1. toComplexMatrix :: C a => T a -> Array (Int, Int) (T a)

    numeric-prelude Number.Quaternion

    Map a quaternion to complex valued 2x2 matrix, such that quaternion addition and multiplication is mapped to matrix addition and multiplication. The determinant of the matrix equals the squared quaternion norm (normSqr). Since complex numbers can be turned into real (orthogonal) matrices, a quaternion could also be converted into a real matrix.

  2. toRotationMatrix :: C a => T a -> Array (Int, Int) a

    numeric-prelude Number.Quaternion

    Let c be a unit quaternion, then it holds similarity c (0+::x) == toRotationMatrix c * x

  3. fix :: (a -> a) -> a

    numhask NumHask.Prelude

    fix f is the least fixed point of the function f, i.e. the least defined x such that f x = x. When f is strict, this means that because, by the definition of strictness, f ⊥ = ⊥ and such the least defined fixed point of any strict function is .

    Examples

    We can write the factorial function using direct recursion as
    >>> let fac n = if n <= 1 then 1 else n * fac (n-1) in fac 5
    120
    
    This uses the fact that Haskell’s let introduces recursive bindings. We can rewrite this definition using fix, Instead of making a recursive call, we introduce a dummy parameter rec; when used within fix, this parameter then refers to fix’s argument, hence the recursion is reintroduced.
    >>> fix (\rec n -> if n <= 1 then 1 else n * rec (n-1)) 5
    120
    
    Using fix, we can implement versions of repeat as fix . (:) and cycle as fix . (++)
    >>> take 10 $ fix (0:)
    [0,0,0,0,0,0,0,0,0,0]
    
    >>> map (fix (\rec n -> if n < 2 then n else rec (n - 1) + rec (n - 2))) [1..10]
    [1,1,2,3,5,8,13,21,34,55]
    

    Implementation Details

    The current implementation of fix uses structural sharing
    fix f = let x = f x in x
    
    A more straightforward but non-sharing version would look like
    fix f = f (fix f)
    

  4. floatRadix :: RealFloat a => a -> Integer

    numhask NumHask.Prelude

    a constant function, returning the radix of the representation (often 2)

  5. type family CheckIx (ctx :: Ctx k) (n :: Nat) (b :: Bool)

    parameterized-utils Data.Parameterized.Context

    Helper type family used to generate descriptive error messages when an index is larger than the length of the Ctx being indexed.

  6. type ValidIx (n :: Nat) (ctx :: Ctx k) = CheckIx ctx n n + 1 <=? CtxSize ctx

    parameterized-utils Data.Parameterized.Context

    A constraint that checks that the nat n is a valid index into the context ctx, and raises a type error if not.

  7. type family CheckIx (ctx :: Ctx k) (n :: Nat) (b :: Bool)

    parameterized-utils Data.Parameterized.Ctx

    Helper type family used to generate descriptive error messages when an index is larger than the length of the Ctx being indexed.

  8. type ValidIx (n :: Nat) (ctx :: Ctx k) = CheckIx ctx n n + 1 <=? CtxSize ctx

    parameterized-utils Data.Parameterized.Ctx

    A constraint that checks that the nat n is a valid index into the context ctx, and raises a type error if not.

  9. addPrefixIsLeq :: forall f (m :: Natural) g (n :: Nat) . f m -> g n -> LeqProof n (m + n)

    parameterized-utils Data.Parameterized.NatRepr

    No documentation available.

  10. _reversedPrefix :: PointedList a -> [a]

    pointedlist Data.List.PointedList

    No documentation available.

Page 283 of many | Previous | Next