prim: An ergonomic but conservative interface to ghc-prim

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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]

Properties

Versions 0.1.0.0, 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), microbase [details]
License MIT
Copyright 2020 Sodality
Author Dai
Maintainer daig@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-02T11:00:04Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for prim-0.1.0.0

[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