Îõ³h$ÞÙ&      !"#$% Felix Klein Safe-Inferred-˜finite A type dummy.finite&A better looking constraint specifier.finiteThe type dummy instance.finiteõA type dummy returning function. Intended to use the type engine for accessing the type of the argument. Note that "(\#) :: a -> T a" is just a special instance.finiteùGet some undefined value of the given type. Intended to be used for extracting type information of polymorph types only.finiteþReplace a function's argument by its type dummy. Intended to be used for extracting type information of polymorph types only.finiteGet the type of a given value.finiteËReplace a function's dummy type argument with its value taking equivalent.   Felix Klein Safe-Inferred 9>?ÀÁÂÖ×á Xfinite Generics implementation for the  Å class. The realization is closely related to the one presented at  %https://wiki.haskell.org/GHC.Generics. finiteThe   class. finite>Returns the number of elements associated with the given type.finiteÕTurns the value in the associated range into an Int uniquely identifiying the value.finite:Turns an Int back to the value that is associated with it.finiteÐAllows to put an offset to the integer mapping. Per default the offset is zero.finite3Returns a finite list of all elements of that type.finite1Complements a given list of elements of that typefinite?Less than operator according to the implicit total index order.finiteÉLess or equal than operator according to the implicit total index order.finiteÌGreater or equal than operator according to the implicit total index order.finiteÃGreater than operator according to the implicit total index order.finite;Equal operator according to the implicit total index order.finite=Unequal operator according to the implicit total index order.finite1First element according to the total index order.finite0Last element according to the total index order.finiteÒNext element according to the total index order (undefined for the last element).finite×Previous element according to the total index order (undefined for the first element).finite+The upper and lower bounds of the instance.&finite M1 instance.'finite U1 instance.(finite :+: instance.)finite :*: instance.*finite K1 instance.        Felix KleinNoneà{finitežCreates a new basic type using the name provided as a string. The template defines the corresponding data type using the provided name and a corresponding access function using the same name with the first letter moved to lower case. Furthermore, it also instanciates corresponding +, ,, Ix, -, and . instances.newInstance "Example"newtype Example = Example { example :: Int } deriving (Eq, Ord)instance Show Example where show (Example x) = show xinstance Hashable Example where/ hashWithSalt s (Example x) = hashWithSalt s xinstance Ix Example where: range (l,u) = map Example $ range (example l, example u): index (l,u) x = index (example l, example u) (example x)> inRange (l,u) x = inRange (example l, example u) (example x) instance Arbitrary Example where# arbitrary = Example <$> arbitrary- shrink (Example x) = map Example $ shrink xinstance Num Example where- (Example x) + (Example y) = Example (a + b)- (Example x) - (Example y) = Example (a - b)- (Example x) * (Example y) = Example (a * b) abs = Example . abs . example% negate = Example . negage . example% signum = Example . signum . example% fromInteger = Example . fromIntegerfiniteªCreates a basic finite instance using the bounds provided via the first argument, the access function provided by the second argument and the name provided as a string./baseInstance [t|Bounds|] [|getBound|] "Example"$instance Finite Bounds Example where elements _ = getBound ?bounds value = Example index = example finite Combined  with .!finiteŽExtends a Finite instance to an extended parameter space. The first argument takes the type to be extended, the second argument the type of the new parameter space and the third argument a translator function that translates the old parameter space into the new one. :i Boundsinstance Finite Bounds Example :t derivederive :: NewBounds -> Bounds7extendInstance [t|Example|] [t|NewBounds] [|translate|]'instance Finite NewBounds Example where8 elements = let ?bounds = translate ?bounds in elements4 offset = let ?bounds = translate ?bounds in offset2 value = let ?bounds = translate ?bounds in value2 index = let ?bounds = translate ?bounds in index"finite–Constructs a polymorph type given a type constructor and a free type variable. Such a construction cannot be expressed in quotation syntax directly.polyType [t|Maybe|] "a"Maybe a !" !" Felix Klein Safe-Inferred>?ÀÁÂàáý#finite’Powersets are just lists of the correpsonding elements. The type has only been added for clearification. Consider the corresponding instance of   for possible applications./finiteéIf the number of elements associated with a type is finite, then it also has finite number of powersets.# Felix Klein Safe-InferredÁÂà^$finiteThe $À type provides a set of items, each assigning an index of type i to a value of type a.0finiteãCollections are used to extend Finite-Type / Context-Bounds pairs to an array of bounds. At the same time the finite type is extended to a collection of items that range over the same set of indices as the bounds. Since the ‘ parameter always gives a finite sized array of bounding parameters, it is guaranteed that the connected collection has a finite bound as well.1finiteéEquality can be checked for collections, if the index type and the elements can be checked for equality.2finiteÚOrder can be checked for collections, if the index type and the elements can be oredered.3finite2Show a collection through its default constructor.$% Felix Klein Safe-Inferred“! #$%!  #$%4      !"#$%&'()*+,-./01234567891:;<=>?@Á%finite-1.4.1.2-LuiKInIsStxD53yqL86TzfFinite Finite.TH Finite.Type Finite.ClassFinite.PowerSetFinite.CollectionT FiniteBounds#\#t2v<<#v2t#<<GFinite gelementsgindexgvalueelementsindexvalueoffsetvalues complement|<||<=||>=||>||==||/=|initialfinalnextpreviousbounds newInstance baseInstancenewBaseInstanceextendInstancepolyTypePowerSet CollectionItem $fGFinitecM1 $fGFinitecU1 $fGFiniteb:+: $fGFiniteb:*: $fGFinitebK1baseGHC.ShowShow'hashable-1.3.0.0-1P2Y3eA5cTdB8Gcn7yS7qiData.Hashable.ClassHashable(QuickCheck-2.14.2-9AhRAvZYUVyKu9RkvnejmbTest.QuickCheck.Arbitrary ArbitraryGHC.NumNum $fFiniteb[]$fFiniteArrayCollection$fEqCollection$fOrdCollection$fShowCollection