Module

Type.RowList.Limits.ExactCount

Package
purescript-typelevel-rowlist-limits
Repository
mwalkerwells/purescript-typelevel-rowlist-limits

#ExactCount Source

class ExactCount (count :: Int) (rl :: RowList) | count -> rl

Instances

#ExactCountEmpty Source

class (ExactCount (Pos Z) rl) <= ExactCountEmpty (rl :: RowList) 

Instances

#ExactCountZero Source

class (ExactCount (Pos Z) rl) <= ExactCountZero (rl :: RowList) 

Instances

#ExactCountOne Source

class (ExactCount (Pos (Succ Z)) rl) <= ExactCountOne (rl :: RowList) 

Instances

#ExactCountTwo Source

class (ExactCount (Pos (Succ (Succ Z))) rl) <= ExactCountTwo (rl :: RowList) 

Instances

#ExactCountThree Source

class (ExactCount (Pos (Succ (Succ (Succ Z)))) rl) <= ExactCountThree (rl :: RowList) 

Instances

#ExactCountFour Source

class (ExactCount (Pos (Succ (Succ (Succ (Succ Z))))) rl) <= ExactCountFour (rl :: RowList) 

Instances

#ExactCountFive Source

class (ExactCount (Pos (Succ (Succ (Succ (Succ (Succ Z)))))) rl) <= ExactCountFive (rl :: RowList) 

Instances

#ExactCountSix Source

class (ExactCount (Pos (Succ (Succ (Succ (Succ (Succ (Succ Z))))))) rl) <= ExactCountSix (rl :: RowList) 

Instances

#ExactCountSeven Source

class (ExactCount (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Z)))))))) rl) <= ExactCountSeven (rl :: RowList) 

Instances

#ExactCountEight Source

class (ExactCount (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Z))))))))) rl) <= ExactCountEight (rl :: RowList) 

Instances

#ExactCountNine Source

class (ExactCount (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Z)))))))))) rl) <= ExactCountNine (rl :: RowList) 

Instances

#ExactCountTen Source

class (ExactCount (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Z))))))))))) rl) <= ExactCountTen (rl :: RowList) 

Instances

Re-exports from Prim.RowList

#Nil

data Nil :: RowList

The empty RowList.

#Cons

data Cons :: Symbol -> Type -> RowList -> RowList

Constructs a new RowList from a label, a type, and an existing tail RowList. E.g: Cons "x" Int (Cons "y" Int Nil).

#RowToList

class RowToList (row :: Row Type) (list :: RowList) | row -> list

Compiler solved type class for generating a RowList from a closed row of types. Entries are sorted by label and duplicates are preserved in the order they appeared in the row.

#RowList

data RowList :: Type

A type level list representation of a row of types.

Re-exports from Type.Data.Peano

#Z Source

data Z :: Nat

Represents 0

Instances

#Succ Source

data Succ :: Nat -> Nat

Represents Successor of a Nat: (Succ a) ^= 1 + a

Instances

#Pos Source

data Pos :: Nat -> Int

Represents a posivite number

Pos (Succ Z) ^= + 1

Instances

#P9 Source

type P9 = Pos D9

#P8 Source

type P8 = Pos D8

#P7 Source

type P7 = Pos D7

#P6 Source

type P6 = Pos D6

#P5 Source

type P5 = Pos D5

#P4 Source

type P4 = Pos D4

#P3 Source

type P3 = Pos D3

#P2 Source

type P2 = Pos D2

#P10 Source

type P10 = Pos D10

#P1 Source

type P1 = Pos D1

#P0 Source

type P0 = Pos D0

#Int Source

data Int :: Type

Represents a whole Number ℤ

Note: Pos Z and Neg Z both represent 0