summaryrefslogtreecommitdiff
path: root/ghc/compiler
diff options
context:
space:
mode:
authorsof <unknown>1997-10-19 21:46:33 +0000
committersof <unknown>1997-10-19 21:46:33 +0000
commit597e10f9edca4794f0ea310b3b1fe0e249d99564 (patch)
treea1fb983a1f9b0a9ed2ea576523f76a0d896e0c3a /ghc/compiler
parentc7a322871b0d518bad23d5cef80687d4fee110e5 (diff)
downloadhaskell-597e10f9edca4794f0ea310b3b1fe0e249d99564.tar.gz
[project @ 1997-10-19 21:46:33 by sof]
Added comment on special parser handling of non-qualified gtycons
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;