prim: An ergonomic but conservative interface to ghc-prim

[ library, mit, prelude ] [ Propose Tags ] [ Report a vulnerability ]

This library reorganizes ghc-prim in a sane but conservative way , without adding any fancy tricks like overloading or extra functions. It's meant as a foundation for low-level programming in haskell, as well as (eventually), a comprehensive home for documentation on ghc magic.


[Skip to Readme]

Modules

  • Any
  • Array
    • Array.Array
      • Array.Array.Array
      • Array.Array.Byte
    • Array.Boxed
    • Array.Byte
      • Array.Byte.Pinned
      • Array.Byte.Unpinned
    • Array.Char
    • Array.Char8
    • Array.F32
    • Array.F64
    • Array.I16
    • Array.I32
    • Array.I64
    • Array.I8
    • Ref
      • Array.Ref.Stable
    • Array.Small
    • Array.U16
    • Array.U32
    • Array.U64
    • Array.U8
  • B
  • B16
  • B32
  • B64
  • B8
  • BCO
  • Char
  • Coerce
  • Compact
  • Enum
  • Exception
    • Exception.Mask
  • F32
  • F64
  • I16
  • I32
  • I64
  • I8
  • IO
    • IO.STM
  • Nat
  • Optimizer
  • Prim
  • Proxy
  • RTS
    • RTS.Block
    • Prefetch
      • RTS.Prefetch.Any
      • RTS.Prefetch.Array
        • RTS.Prefetch.Array.M
      • RTS.Prefetch.Ref
  • Ref
    • Ref.Boxed
    • Ref.Byte
    • Ref.Char
    • Ref.Char8
    • Ref.F32
    • Ref.F64
    • Ref.I16
    • Ref.I32
    • Ref.I64
    • Ref.I8
    • Ref.Lock
    • Ref
      • Ref.Ref.Byte
      • Ref.Ref.Stable
    • Ref.STM
    • Ref.Stable
      • Ref.Stable.Name
    • Ref.U16
    • Ref.U32
    • Ref.U64
    • Ref.U8
    • Ref.Weak
  • Rep
    • Rep.Kind
    • Rep.RTS
  • Spark
  • Stock
    • Stock.B
    • Stock.Char
    • Stock.Double
    • Stock.Eq
    • Stock.Float
    • Stock.IO
    • Stock.Int
    • Stock.Ord
      • Stock.Ord.Ordering
    • Stock.Word
  • String
    • String.C
      • String.C.Latin
      • String.C.UTF8
    • String.List
  • Syntax
    • Syntax.ImplicitParam
  • Thread
  • Tuple
  • U16
  • U32
  • U64
  • U8

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7, 0.1.0.8, 0.1.0.9
Change log CHANGELOG.md
Dependencies ghc-prim (>=0.6.1 && <0.7) [details]
License MIT
Copyright 2020 Sodality
Author Dai
Maintainer dai@sodality.cc
Category Prelude
Home page https://github.com/daig/prim#readme
Bug tracker https://github.com/daig/prim/issues
Source repo head: git clone https://github.com/daig/prim
Uploaded by dailectic at 2020-04-28T07:03:19Z
Distributions
Downloads 2015 total (25 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2020-04-28 [all 3 reports]

Readme for prim-0.1.0.9

[back to package description]

PRIM

This library reorganizes ghc-prim in a sane but conservative way , without adding any fancy tricks like overloading or extra functions. It's meant as a foundation for low-level programming in haskell, as well as (eventually), a comprehensive home for documentation on ghc magic.

Module Structure

Modules live at the toplevel and do not consider the global package ecosystem, for modularity. It is intended to use cabal mixins or PackageImports to appropriately avoid collisions downstream. Modules are granular, intending to represent a particular usable component such as a single datatype or class. Modules for internal types are nested under the module they group closest with, while modules for common types like Refs and Arrays are anti-nested with the root exposing their types.

Export Structure

Types and constructors with the same name as the module, as well as all operators are meant to be imported unqualified. All other identifiers are meant to be imported qualified. The common pattern is:

import Compact (Compact)
import Compact qualified