Binary natural numbers.
Numbers are represented in little-endian order, the representation is unique.
mapM_ (putStrLn . explicitShow) [0 .. 7]BZBP BEBP (B0 BE)BP (B1 BE)BP (B0 (B0 BE))BP (B1 (B0 BE))BP (B0 (B1 BE))BP (B1 (B1 BE))
Instances22Enum, Eq, Integral, Data, Num, Ord, …
Enum BinDefined in bin-0.1.4 · Data.BinExample1 expression take 10 $ iterate succ BZ[0,1,2,3,4,5,6,7,8,9]
Example1 expression take 10 [BZ ..][0,1,2,3,4,5,6,7,8,9]
Eq BinDefined in bin-0.1.4 · Data.BinIntegral BinDefined in bin-0.1.4 · Data.BinData BinDefined in bin-0.1.4 · Data.BinNum BinDefined in bin-0.1.4 · Data.BinExample1 expression 0 + 2 :: Bin2
Example1 expression 1 + 2 :: Bin3
Example1 expression 4 * 8 :: Bin32
Example1 expression 7 * 7 :: Bin49
Ord BinDefined in bin-0.1.4 · Data.BinReal BinDefined in bin-0.1.4 · Data.BinShow BinDefined in bin-0.1.4 · Data.BinTo see explicit structure, use explicitShow or explicitShowsPrec
Bits BinDefined in bin-0.1.4 · Data.BinNFData BinDefined in bin-0.1.4 · Data.BinArbitrary BinDefined in bin-0.1.4 · Data.BinCoArbitrary BinDefined in bin-0.1.4 · Data.BinFunction BinDefined in bin-0.1.4 · Data.BinHashable BinDefined in bin-0.1.4 · Data.BinTestEquality SBinDefined in bin-0.1.4 · Data.Type.BinEqP PosDefined in bin-0.1.4 · Data.Bin.PosExample1 expression eqp (top :: Pos Bin4) (top :: Pos Bin6)True
Example1 expression let xs = universe @Bin4; ys = universe @Bin6 in traverse_ print [ [ eqp x y | y <- ys ] | x <- xs ][True,False,False,False,False,False][False,True,False,False,False,False][False,False,True,False,False,False][False,False,False,True,False,False]
EqP SBinDefined in bin-0.1.4 · Data.Type.BinGEq SBinDefined in bin-0.1.4 · Data.Type.BinGNFData SBinDefined in bin-0.1.4 · Data.Type.BinGShow PosDefined in bin-0.1.4 · Data.Bin.PosGShow SBinDefined in bin-0.1.4 · Data.Type.BinOrdP PosDefined in bin-0.1.4 · Data.Bin.PosExample1 expression let xs = universe @Bin4; ys = universe @Bin6 in traverse_ print [ [ comparep x y | y <- ys ] | x <- xs ][EQ,LT,LT,LT,LT,LT][GT,EQ,LT,LT,LT,LT][GT,GT,EQ,LT,LT,LT][GT,GT,GT,EQ,LT,LT]