Îõ³h$ŽÊ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHISafe-./ÉÖ×@typenumsNot-equal constrainttypenums"Equality constraint, used as e.g.  (x == 3) => _typenumsBoolean type-level not-equals.typenums/Boolean type-level equals. Useful for e.g.  (x ==? 0)4444(c) 2018-2021 Iris WardBSD3aditu.venyhandottir@gmail.com experimental Trustworthy./>ÀÆÇÉÖ×ÙìÔtypenums1This type represents unknown type-level integers.typenumsòThis class gives the (value-level) integer associated with a type-level integer. There are instances of this class for every concrete natural: 0, 1, 2, etc. There are also instances of this class for every negated natural, such as " 1. typenums'(Kind) An integer that may be negative.#typenums2Get the value associated with a type-level integer$typenumsáGet the value associated with a type-level integer. The difference between this function and # is that it takes a JÍ parameter, which has zero runtime representation and so is entirely free.%typenums6Convert an integer into an unknown type-level integer.  !"#$% !"#$%(c) 2018-2021 Iris WardBSD3aditu.venyhandottir@gmail.com experimental Trustworthy./>?ÀÆÇÉÖ×Ùì -typenums1This type represents unknown type-level integers./typenums½This class gives the (value-level) rational associated with a type-level rational. There are instances of this class for every combination of a concrete integer and concrete natural.0typenumsType constructor for a rational2typenums3Get the value associated with a type-level rational3typenumsâGet the value associated with a type-level rational. The difference between this function and 2 is that it takes a JÍ parameter, which has zero runtime representation and so is entirely free.4typenums7Convert a rational into an unknown type-level rational.-./0123401/23-.4Safe -./ÉÖ× ¥<typenums%The product of two type-level numbers=typenums(The difference of two type-level numbers>typenums"The sum of two type-level numbers.?typenums)The kind of the result of multiplication.@typenums&The kind of the result of subtraction.Atypenums#The kind of the result of addition.<=>?@AA@?>=< Safe.ÉÖ× gBtypenums&The product of two type-level numbers.¹Due to changes in GHC 8.6, using this operator infix and unqualified requires the NoStarIsType language extension to be active. See the GHC 8.6.x migration guide for details: 3https://ghc.haskell.org/trac/ghc/wiki/Migration/8.6Ctypenums(The difference of two type-level numbersDtypenums!The sum of two type-level numbersBCDB7C6D6 Safe -./ÉÖ× âItypenums,Boolean comparison of two type-level numbersEFGHIE4F4G4H4I4(c) 2018-2021 Iris WardBSD3aditu.venyhandottir@gmail.com experimentalSafe× n$ !"#$%-./01234BCDEFGHI$ !"#$%01/23-.4IHGFEDCB(c) 2018-2021 Iris WardBSD3aditu.venyhandottir@gmail.com experimentalSafe×6   !"#$%-./01234BCDEFGHI6 !"#$%01/23-.4IHGFEDCB  Ë                ! " # # $ % & &'()*++,-./0123456789::;<=>?@ABCDEFGHIJKLM N O P Q R S T UVWØ%typenums-0.1.3-JCjoDrVUydH5nJnUHk26QA Data.TypeNums Data.TypeLitsData.TypeNums.IntsData.TypeNums.Rats!Data.TypeNums.Arithmetic.InternalData.TypeNums.EqualityData.Type.BoolIfData.TypeNums.ArithmeticData.TypeNums.Comparisonbase GHC.TypeNatsKnownNat GHC.TypeLits KnownSymbolghc-prim GHC.TypesNatSymbol^ CmpSymbol TypeError AppendSymbolText:<>::$$:ShowType sameSymbol someSymbolVal someNatVal symbolVal'natVal' symbolValnatVal SomeSymbol ErrorMessagesameNatSomeNat/===/=?==?SomeIntKnownIntTIntPosNegintValintVal' someIntVal$fKnownIntTIntNeg$fKnownIntTIntPos$fKnownIntNatn $fReadSomeInt $fShowSomeInt $fOrdSomeInt $fEqSomeIntSomeRatKnownRatRat:%ratValratVal' someRatVal $fKnownRatkn$fKnownRatRat:%$fKnownRatRat:%0 $fReadSomeRat $fShowSomeRat $fOrdSomeRat $fEqSomeRatMulSubAddMulKSubKAddK*-+>>=<<=<=?GHC.PrimProxy#