Îõ³h$ ;Ìà      !"#$%&'()*+,-./0123456789:;<=>?@AB(C) 2017 Ryan Scott BSD-style (see the file LICENSE) Ryan Scott ExperimentalGHCUnsafe/Éì  eliminators dataName> generates a top-level elimination function for the datatype dataName6. The eliminator will follow these naming conventions:ÕIf the datatype has an alphanumeric name, its eliminator will have that name with elim prepended.ÐIf the datatype has a symbolic name, its eliminator will have that name with ~> prepended. eliminators funName dataName3 generates a top-level elimination function named funName for the datatype dataName. eliminators dataName5 generates a type-level eliminator for the datatype dataName6. The eliminator will follow these naming conventions:ÕIf the datatype has an alphanumeric name, its eliminator will have that name with Elim prepended.ÐIf the datatype has a symbolic name, its eliminator will have that name with ~> prepended. eliminators funName dataName* generates a type-level eliminator named funName for the datatype dataName.C eliminatorsConstruct a type of the form D x given x.E eliminatorsConstruct a type of the form F p ty given p and ty.G eliminatorsËGenerate a list of fresh names with a common prefix, and numbered suffixes.(C) 2017 Ryan Scott BSD-style (see the file LICENSE) Ryan Scott ExperimentalGHC Trustworthy'(-./ÆÉÔÖ×Ùçìö;<  !"#$%&'()*+,-./0123456789:;<=>?@A< !"#$%&23'()* + , - . /;:<9=8>7?6@5A401(C) 2017 Ryan Scott BSD-style (see the file LICENSE) Ryan Scott ExperimentalGHC Trustworthy ./ÉÔÖ×ÙìÆB eliminators Although Hë is not actually an inductive data type in GHC, we can (crudely) pretend that it is using this eliminator.BBÉ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE.FGHIJGHKLMNOÐeliminators-0.7-inplaceData.Eliminator.THData.EliminatorData.Eliminator.TypeNats deriveElimderiveElimNamedderiveTypeElimderiveTypeElimNamed$fEliminatorIsType$fEliminatorIsTermElimWrappedMonoidElimVoidElimSum ElimProduct ElimOrdering ElimOption ElimNonEmptyElimNatElimMin ElimMaybeElimMaxElimLast ElimIdentity ElimFirst ElimEitherElimDualElimDown ElimConstElimBoolElimArgElimAnyElimAllelimAllelimAnyelimArgelimBool elimConstelimDownelimDual elimEither elimFirst elimIdentityelimLastelimMax elimMaybeelimMinelimNat elimNonEmpty elimOption elimOrdering elimProductelimSumelimVoidelimWrappedMonoidelimListElimList ElimTuple7 ElimTuple6 ElimTuple5 ElimTuple4 ElimTuple3 ElimTuple2 ElimTuple0 elimTuple0 elimTuple2 elimTuple3 elimTuple4 elimTuple5 elimTuple6 elimTuple7singTypeÏsingletons-2.7-459a726b23512f7bc168fd6d56dde543967e156db9d0f1103d9eb361be149d37Data.Singletons.InternalSingpredTypeApply newNameListghc-prim GHC.TypesNat