summaryrefslogtreecommitdiff
path: root/ghc/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'ghc/compiler')
-rw-r--r--ghc/compiler/parser/id.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/ghc/compiler/parser/id.c b/ghc/compiler/parser/id.c
index 173f38db98..04228be114 100644
--- a/ghc/compiler/parser/id.c
+++ b/ghc/compiler/parser/id.c
@@ -273,6 +273,21 @@ qid_to_pmod(q)
return mod;
}
+/* Darkly mysterious function used to construct "special-syntax"
+ identifiers. These mean their prelude versions regardless of
+ context, which is why they are distinguished.
+
+ We build a gid node (rather than a qual or non-qual name node;
+ look at qid.ugn) with a key (number) and a string. Here's the
+ deal
+
+ key
+ -2 function arrow ->
+ -1 list type constructor [], or the empty list []
+ 0 unit type constructor (), or the unity value ()
+ n n-tuple type constructor (,,,)
+*/
+
qid
creategid(i)
long i;