bin: Bin: binary natural numbers.

[ data, dependent-types, gpl, library, math, singletons ] [ Propose Tags ]

This package provides binary natural numbers (Data.Bin); also utilities to work on the type level with DataKinds (Data.Type.Bin).

data Bin
    = BZ       -- ^ zero
    | BP BinP  -- ^ non-zero

data BinP
    = BE       -- ^ one
    | B0 BinP  -- ^ double
    | B1 BinP  -- ^ double plus 1

There are ordinals in Data.Bin.Pos module, as well as fixed width integers in Data.Wrd.

Another implementation is at https://hackage.haskell.org/package/nat, this differs in naming, and provides promoted variant.

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1, 0.1.1, 0.1.2
Change log ChangeLog.md
Dependencies base (>=4.7 && <4.17), boring (>=0.2 && <0.3), dec (>=0.0.3 && <0.1), deepseq (>=1.3.0.2 && <1.5), fin (>=0.2 && <0.3), hashable (>=1.2.7.0 && <1.5), nats (>=1.1.2 && <1.2), QuickCheck (>=2.14.2 && <2.15), some (>=1.0.3 && <1.1) [details]
License GPL-2.0-or-later
Copyright (c) 2019-2021 Oleg Grenrus
Author Oleg Grenrus <oleg.grenrus@iki.fi>
Maintainer Oleg.Grenrus <oleg.grenrus@iki.fi>
Category Data, Dependent Types, Singletons, Math
Home page https://github.com/phadej/vec
Bug tracker https://github.com/phadej/vec/issues
Source repo head: git clone https://github.com/phadej/vec.git(bin)
Uploaded by phadej at 2022-01-03T12:02:56Z
Distributions Arch:0.1.2, LTSHaskell:0.1.2, NixOS:0.1.2, Stackage:0.1.2
Downloads 3475 total (141 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-01-03 [all 1 reports]