AsUtils.hs revision f0742398d4587242b1a115de113cd17f63dcb6d0
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis Tsogias Authors: Christian Maeder
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis Tsogias (further) auxiliary functions
1e622ddf5a057555db1924ddc88475c695c6f7f2Alexis Tsogiasmodule AsUtils where
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis Tsogias-- ---------------------------------------------------------------------
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiaskindArity :: Kind -> Int
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiaskindArity(Kind args _ _) =
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis Tsogias sum $ map prodClassArity args
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiasprodClassArity :: ProdClass -> Int
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiasprodClassArity (ProdClass l _) = length l
87d946b3c13ffd7f6391aa796e786c2b31b122b1Jonathan von Schroeder-- ---------------------------------------------------------------------
e16b3696b2c173aac14200321868ed81b8f7dc69Christian MaederposOfTypePattern :: TypePattern -> Pos
e16b3696b2c173aac14200321868ed81b8f7dc69Christian MaederposOfTypePattern (TypePattern t _ _) = posOfId t
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiasposOfTypePattern (TypePatternToken t) = tokPos t
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiasposOfTypePattern (MixfixTypePattern ts) =
87d946b3c13ffd7f6391aa796e786c2b31b122b1Jonathan von Schroeder if null ts then nullPos else posOfTypePattern $ head ts
4e95ffc23b9c5f0b5980ab6f1cacbe7bd9789851Alexis TsogiasposOfTypePattern (BracketTypePattern _ ts ps) =
4e95ffc23b9c5f0b5980ab6f1cacbe7bd9789851Alexis Tsogias if null ps then
421def3c7b0b9ca7762f809a2c57c6ee74495ffaJonathan von Schroeder if null ts then nullPos
4b9f1c9f95296f3292b2e53dbc3d196751b862dbJonathan von Schroeder else posOfTypePattern $ head ts
93c8c4a8ce75cc2e02e03468a97b896f149d26ceAlexis TsogiasposOfTypePattern (TypePatternArgs as) =
9d05f30775dd499da9e262b5c199b63c86cc239bJonathan von Schroeder if null as then nullPos else
3a9fce5398f4621558ca220c66c87cee59adc258Jonathan von Schroeder let TypeArg t _ _ _ = head as in tokPos t