summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorHerbert Valerio Riedel <hvr@gnu.org>2015-11-23 22:25:38 +0100
committerHerbert Valerio Riedel <hvr@gnu.org>2015-11-24 07:01:29 +0100
commit12dbc89228d9a13c011e4f399db1bdc0fa4681f0 (patch)
treebd9a9c7c450ac54b2a24178904ff117b3867ba2e /compiler
parent1c45f4172f57baa1622c5a8421f9edacd0ccfe44 (diff)
downloadhaskell-12dbc89228d9a13c011e4f399db1bdc0fa4681f0.tar.gz
Add `PrelNames.thenAName` for `Applicative(*>)`
This is needed to allow subsequent patches to refer to `*>`. While at it, this commit also groups together the `Applicative` definitions to reduce confusion. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D1513
Diffstat (limited to 'compiler')
-rw-r--r--compiler/prelude/PrelNames.hs28
1 files changed, 17 insertions, 11 deletions
diff --git a/compiler/prelude/PrelNames.hs b/compiler/prelude/PrelNames.hs
index 1b1ffaabdf..cdf3df60b3 100644
--- a/compiler/prelude/PrelNames.hs
+++ b/compiler/prelude/PrelNames.hs
@@ -234,9 +234,8 @@ basicKnownKeyNames
enumFromName, enumFromThenName,
enumFromThenToName, enumFromToName,
- -- Applicative/Alternative stuff
- pureAName,
- apAName,
+ -- Applicative stuff
+ pureAName, apAName, thenAName,
-- Monad stuff
thenIOName, bindIOName, returnIOName, failIOName, bindMName, thenMName,
@@ -927,9 +926,15 @@ monadFailClassName, failMName :: Name
monadFailClassName = clsQual mONAD_FAIL (fsLit "MonadFail") monadFailClassKey
failMName = varQual mONAD_FAIL (fsLit "fail") failMClassOpKey
--- Classes (Applicative, Foldable, Traversable)
-applicativeClassName, foldableClassName, traversableClassName :: Name
-applicativeClassName = clsQual gHC_BASE (fsLit "Applicative") applicativeClassKey
+-- Class Applicative
+applicativeClassName, pureAName, apAName, thenAName :: Name
+applicativeClassName = clsQual gHC_BASE (fsLit "Applicative") applicativeClassKey
+apAName = varQual gHC_BASE (fsLit "<*>") apAClassOpKey
+pureAName = varQual gHC_BASE (fsLit "pure") pureAClassOpKey
+thenAName = varQual gHC_BASE (fsLit "*>") thenAClassOpKey
+
+-- Classes (Foldable, Traversable)
+foldableClassName, traversableClassName :: Name
foldableClassName = clsQual dATA_FOLDABLE (fsLit "Foldable") foldableClassKey
traversableClassName = clsQual dATA_TRAVERSABLE (fsLit "Traversable") traversableClassKey
@@ -937,17 +942,18 @@ traversableClassName = clsQual dATA_TRAVERSABLE (fsLit "Traversable") trave
-- AMP additions
-joinMName, apAName, pureAName, alternativeClassName :: Name
+joinMName, alternativeClassName :: Name
joinMName = varQual gHC_BASE (fsLit "join") joinMIdKey
-apAName = varQual gHC_BASE (fsLit "<*>") apAClassOpKey
-pureAName = varQual gHC_BASE (fsLit "pure") pureAClassOpKey
alternativeClassName = clsQual mONAD (fsLit "Alternative") alternativeClassKey
-joinMIdKey, apAClassOpKey, pureAClassOpKey, alternativeClassKey :: Unique
+--
+joinMIdKey, apAClassOpKey, pureAClassOpKey, thenAClassOpKey,
+ alternativeClassKey :: Unique
joinMIdKey = mkPreludeMiscIdUnique 750
apAClassOpKey = mkPreludeMiscIdUnique 751 -- <*>
pureAClassOpKey = mkPreludeMiscIdUnique 752
-alternativeClassKey = mkPreludeMiscIdUnique 753
+thenAClassOpKey = mkPreludeMiscIdUnique 753
+alternativeClassKey = mkPreludeMiscIdUnique 754
-- Functions for GHC extensions