summaryrefslogtreecommitdiff
path: root/compiler/parser
diff options
context:
space:
mode:
authorDavid Feuer <david.feuer@gmail.com>2018-06-02 21:24:04 -0400
committerBen Gamari <ben@smart-cactus.org>2018-06-02 23:21:01 -0400
commit5b82ee695e1dbbe355c775e265521c4c3ee8cdbb (patch)
treee688af794edd4aa7d94f670b22a9d46188298afb /compiler/parser
parent1626fe600672d3dabcf95d11a6c16da5f5ec1068 (diff)
downloadhaskell-5b82ee695e1dbbe355c775e265521c4c3ee8cdbb.tar.gz
Remove ~# from surface syntax
For some reason, it seems that the `ConstraintKinds` commit introduced `~#` into Haskell syntax, in a pretty broken manner. Unless and until we have an actual story for unboxed equality, it doesn't make sense to expose it. Moreover, the way it was donet was wrong enough and small enough that it will probably be easier to start over if we do that. Yank it out. Reviewers: bgamari, RyanGlScott Reviewed By: RyanGlScott Subscribers: RyanGlScott, rwbarton, thomie, mpickering, carter GHC Trac Issues: #15209 Differential Revision: https://phabricator.haskell.org/D4763
Diffstat (limited to 'compiler/parser')
-rw-r--r--compiler/parser/ApiAnnotation.hs3
-rw-r--r--compiler/parser/Lexer.x2
-rw-r--r--compiler/parser/Parser.y3
3 files changed, 1 insertions, 7 deletions
diff --git a/compiler/parser/ApiAnnotation.hs b/compiler/parser/ApiAnnotation.hs
index 282d3904f8..4d1758ff3c 100644
--- a/compiler/parser/ApiAnnotation.hs
+++ b/compiler/parser/ApiAnnotation.hs
@@ -280,7 +280,6 @@ data AnnKeywordId
| AnnThIdTySplice -- ^ '$$'
| AnnThTyQuote -- ^ double '''
| AnnTilde -- ^ '~'
- | AnnTildehsh -- ^ '~#'
| AnnType
| AnnUnit -- ^ '()' for types
| AnnUsing
@@ -322,7 +321,7 @@ instance Outputable AnnotationComment where
-- | - 'ApiAnnotation.AnnKeywordId' : 'ApiAnnotation.AnnOpen',
-- 'ApiAnnotation.AnnClose','ApiAnnotation.AnnComma',
--- 'ApiAnnotation.AnnRarrow','ApiAnnotation.AnnTildehsh',
+-- 'ApiAnnotation.AnnRarrow'
-- 'ApiAnnotation.AnnTilde'
-- - May have 'ApiAnnotation.AnnComma' when in a list
type LRdrName = Located RdrName
diff --git a/compiler/parser/Lexer.x b/compiler/parser/Lexer.x
index fc8b988332..006faccf11 100644
--- a/compiler/parser/Lexer.x
+++ b/compiler/parser/Lexer.x
@@ -678,7 +678,6 @@ data Token
| ITrarrow IsUnicodeSyntax
| ITat
| ITtilde
- | ITtildehsh
| ITdarrow IsUnicodeSyntax
| ITminus
| ITbang
@@ -888,7 +887,6 @@ reservedSymsFM = listToUFM $
,("->", ITrarrow NormalSyntax, always)
,("@", ITat, always)
,("~", ITtilde, always)
- ,("~#", ITtildehsh, magicHashEnabled)
,("=>", ITdarrow NormalSyntax, always)
,("-", ITminus, always)
,("!", ITbang, always)
diff --git a/compiler/parser/Parser.y b/compiler/parser/Parser.y
index 533e21d0d1..af8c95fb2b 100644
--- a/compiler/parser/Parser.y
+++ b/compiler/parser/Parser.y
@@ -522,7 +522,6 @@ are the most common patterns, rewritten as regular expressions for clarity:
'->' { L _ (ITrarrow _) }
'@' { L _ ITat }
'~' { L _ ITtilde }
- '~#' { L _ ITtildehsh }
'=>' { L _ (ITdarrow _) }
'-' { L _ ITminus }
'!' { L _ ITbang }
@@ -3119,8 +3118,6 @@ ntgtycon :: { Located RdrName } -- A "general" qualified tycon, excluding unit
| '(' '->' ')' {% ams (sLL $1 $> $ getRdrName funTyCon)
[mop $1,mu AnnRarrow $2,mcp $3] }
| '[' ']' {% ams (sLL $1 $> $ listTyCon_RDR) [mos $1,mcs $2] }
- | '(' '~#' ')' {% ams (sLL $1 $> $ getRdrName eqPrimTyCon)
- [mop $1,mj AnnTildehsh $2,mcp $3] }
oqtycon :: { Located RdrName } -- An "ordinary" qualified tycon;
-- These can appear in export lists