summaryrefslogtreecommitdiff
path: root/compiler/parser/HaddockParse.y
diff options
context:
space:
mode:
authorIsaac Dupree <id@isaac.cedarswampstudios.org>2008-01-17 01:13:12 +0000
committerIsaac Dupree <id@isaac.cedarswampstudios.org>2008-01-17 01:13:12 +0000
commit206b4dec78250efef3cd927d64dc6cbc54a16c3d (patch)
tree5c922e32a60500a0935e4bf378bb0bdd7819fef0 /compiler/parser/HaddockParse.y
parent1286da96dc65faa5992a8a34c5b3bf29dfe2be04 (diff)
downloadhaskell-206b4dec78250efef3cd927d64dc6cbc54a16c3d.tar.gz
lots of portability changes (#1405)
re-recording to avoid new conflicts was too hard, so I just put it all in one big patch :-( (besides, some of the changes depended on each other.) Here are what the component patches were: Fri Dec 28 11:02:55 EST 2007 Isaac Dupree <id@isaac.cedarswampstudios.org> * document BreakArray better Fri Dec 28 11:39:22 EST 2007 Isaac Dupree <id@isaac.cedarswampstudios.org> * properly ifdef BreakArray for GHCI Fri Jan 4 13:50:41 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * change ifs on __GLASGOW_HASKELL__ to account for... (#1405) for it not being defined. I assume it being undefined implies a compiler with relatively modern libraries but without most unportable glasgow extensions. Fri Jan 4 14:21:21 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * MyEither-->EitherString to allow Haskell98 instance Fri Jan 4 16:13:29 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * re-portabilize Pretty, and corresponding changes Fri Jan 4 17:19:55 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * Augment FastTypes to be much more complete Fri Jan 4 20:14:19 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * use FastFunctions, cleanup FastString slightly Fri Jan 4 21:00:22 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * Massive de-"#", mostly Int# --> FastInt (#1405) Fri Jan 4 21:02:49 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * miscellaneous unnecessary-extension-removal Sat Jan 5 19:30:13 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * add FastFunctions
Diffstat (limited to 'compiler/parser/HaddockParse.y')
-rw-r--r--compiler/parser/HaddockParse.y13
1 files changed, 8 insertions, 5 deletions
diff --git a/compiler/parser/HaddockParse.y b/compiler/parser/HaddockParse.y
index e3f45f9475..d46223ddb3 100644
--- a/compiler/parser/HaddockParse.y
+++ b/compiler/parser/HaddockParse.y
@@ -9,7 +9,7 @@
module HaddockParse (
parseHaddockParagraphs,
parseHaddockString,
- MyEither(..)
+ EitherString(..)
) where
import {-# SOURCE #-} HaddockLex
@@ -35,7 +35,7 @@ import RdrName
PARA { TokPara }
STRING { TokString $$ }
-%monad { MyEither String }
+%monad { EitherString }
%name parseHaddockParagraphs doc
%name parseHaddockString seq
@@ -98,15 +98,18 @@ strings :: { String }
| STRING strings { $1 ++ $2 }
{
-happyError :: [Token] -> MyEither String a
+happyError :: [Token] -> EitherString a
happyError toks = MyLeft ("parse error in doc string")
-- We don't want to make an instance for Either String,
-- since every user of the GHC API would get that instance
-data MyEither a b = MyLeft a | MyRight b
+-- But why use non-Haskell98 instances when MyEither String
+-- is the only MyEither we're intending to use anyway? --Isaac Dupree
+--data MyEither a b = MyLeft a | MyRight b
+data EitherString b = MyLeft String | MyRight b
-instance Monad (MyEither String) where
+instance Monad EitherString where
return = MyRight
MyLeft l >>= _ = MyLeft l
MyRight r >>= k = k r