Ticket #1701 (closed bug: fixed)

Opened 4 years ago

Last modified 2 years ago

impossible happened

Reported by: aycan.irican@… Owned by:
Priority: normal Milestone: 6.8.2
Component: Compiler Version: 6.6.1
Keywords: impossible Cc:
Operating System: Linux Architecture: x86_64 (amd64)
Type of failure: Difficulty: Moderate (less than a day)
Test Case: Blocked By:
Blocking: Related Tickets:

Description

when I try to compile  http://hpaste.org/2772 I got:

$ ghc --make xmltr.hs -o xmltr
[1 of 1] Compiling Main             ( xmltr.hs, xmltr.o )
ghc-6.6.1: panic! (the 'impossible' happened)
  (GHC version 6.6.1 for x86_64-unknown-linux):
        initC: srt

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Change History

Changed 4 years ago by simonpj

Is it essential to import Text.XML.HXT.Arrow? If so, can you point to where to get the version of that package that you used, so we can reproduce?

Also can you try with -dcore-lint please?

Thanks

Simon

Changed 4 years ago by aycan.irican@…

You can get the package from  http://darcs.fh-wedel.de/hxt (via darcs).

Here is the lengthy output with -dcore-lint:

$ ghc -dcore-lint --make ghc-bug-1.hs -o ghc-bug
[1 of 1] Compiling Main             ( ghc-bug-1.hs, ghc-bug-1.o )
*** Core Lint Errors: in result of Desugar ***
<no location info>:
    In the expression: insertContent_a141
                         @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                                 (Data.Tree.NTree.TypeDefs.NTree Text.XML.HXT.DOM.TypeDefs.XNode)
                                                                 (Data.Tree.NTree.TypeDefs.NTree Text.XML.HXT.DOM.TypeDefs.XNode))
    insertContent_a141 is out of scope
*** Offending Program ***
Rec {
$dArrowTree_a2uY :: {Control.Arrow.ArrowTree.ArrowTree (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowTree_a2uY = $dArrowTree_a2tN
processTopDown_a2d9 :: forall (t_a2cY :: * -> *) b_a2cZ.
                       (Data.Tree.Class.Tree t_a2cY) =>
                       Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                            (t_a2cY b_a2cZ)
                                                            (t_a2cY b_a2cZ)
                       -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                               (t_a2cY b_a2cZ)
                                                               (t_a2cY b_a2cZ)
[]
processTopDown_a2d9 =   
  Control.Arrow.ArrowTree.processTopDown
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowTree_a2uY
when_a2d6 :: forall b_a2d0 c_a2d1.
             Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                  b_a2d0
                                                  b_a2d0
             -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                     b_a2d0
                                                     c_a2d1
             -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                     b_a2d0
                                                     b_a2d0
[]
when_a2d6 = when_a2eo   
isElem_a2ah :: Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    Text.XML.HXT.DOM.TypeDefs.XmlTree
                                                    Text.XML.HXT.DOM.TypeDefs.XmlTree
[]
isElem_a2ah = isElem_a2en
$dArrowXml_a2uV :: {Text.XML.HXT.Arrow.XmlArrow.ArrowXml (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowXml_a2uV = $dArrowXml_a2tf
hasAttr_a2aj :: GHC.Base.String
                -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                        Text.XML.HXT.DOM.TypeDefs.XmlTree
                                                        Text.XML.HXT.DOM.TypeDefs.XmlTree
[]
hasAttr_a2aj =
  Text.XML.HXT.Arrow.XmlArrow.hasAttr
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowXml_a2uV
$dArrowXml_a2uS :: {Text.XML.HXT.Arrow.XmlArrow.ArrowXml (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowXml_a2uS = $dArrowXml_a2tf
getAttrValue_a2al :: GHC.Base.String
                     -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                             Text.XML.HXT.DOM.TypeDefs.XmlTree
                                                             GHC.Base.String
[]
getAttrValue_a2al =
  Text.XML.HXT.Arrow.XmlArrow.getAttrValue
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowXml_a2uS
$dEq_a2uK :: {GHC.Base.Eq GHC.Base.Char}
[]
$dEq_a2uK = GHC.Base.$f4
$dEq_a2uI :: {GHC.Base.Eq GHC.Base.String}
[]
$dEq_a2uI = GHC.Base.$f10 @ GHC.Base.Char $dEq_a2uK
==_a2as :: GHC.Base.String -> GHC.Base.String -> GHC.Base.Bool
[]
==_a2as = GHC.Base.== @ GHC.Base.String $dEq_a2uI
$dArrowList_a2uF :: {Control.Arrow.ArrowList.ArrowList (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowList_a2uF = $dArrowList_a2u0
isA_a2at :: forall b_a2ao.
            (b_a2ao -> GHC.Base.Bool)
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    b_a2ao
                                                    b_a2ao
[]
isA_a2at =
  Control.Arrow.ArrowList.isA
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowList_a2uF
>>>_a2aw :: forall b_a1LC c_a1LD d_a1LE.
            Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                 b_a1LC
                                                 c_a1LD
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    c_a1LD
                                                    d_a1LE
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    b_a1LC
                                                    d_a1LE
[]
>>>_a2aw = >>>_a2eH
>>>_a2az :: forall b_a1LC c_a1LD d_a1LE.
            Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                 b_a1LC
                                                 c_a1LD
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    c_a1LD
                                                    d_a1LE
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    b_a1LC
                                                    d_a1LE
[]
>>>_a2az = >>>_a2eH
>>>_a2aC :: forall b_a1LC c_a1LD d_a1LE.
            Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                 b_a1LC
                                                 c_a1LD
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    c_a1LD
                                                    d_a1LE
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    b_a1LC
                                                    d_a1LE
[]
>>>_a2aC = >>>_a2eH
>>>_a2eN :: forall b_a1LC c_a1LD d_a1LE.
            Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                 b_a1LC
                                                 c_a1LD
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    c_a1LD
                                                    d_a1LE
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    b_a1LC
                                                    d_a1LE
[]
>>>_a2eN = >>>_a2eH
>>>_a2eK :: forall b_a1LC c_a1LD d_a1LE.
            Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                 b_a1LC
                                                 c_a1LD
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    c_a1LD
                                                    d_a1LE
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    b_a1LC
                                                    d_a1LE
[]
>>>_a2eK = >>>_a2eH
$dArrowIf_a2tY :: {Control.Arrow.ArrowIf.ArrowIf (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowIf_a2tY = $dArrowIf_a2uw
$dArrowList_a2u0 :: {Control.Arrow.ArrowList.ArrowList (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowList_a2u0 =
  Control.Arrow.ArrowIf.$p1ArrowIf
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowIf_a2tY
$dArrowApply_a2uk :: {Control.Arrow.ArrowApply (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowApply_a2uk =
  Control.Arrow.ArrowList.$p4ArrowList
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowList_a2u0
$dArrow_a2uC :: {Control.Arrow.Arrow (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrow_a2uC =
  Control.Arrow.$p1ArrowApply
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowApply_a2uk   
>>>_a2eH :: forall b_a1LC c_a1LD d_a1LE.
            Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                 b_a1LC
                                                 c_a1LD
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    c_a1LD
                                                    d_a1LE
            -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    b_a1LC
                                                    d_a1LE
[]
>>>_a2eH =
  Control.Arrow.>>>
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrow_a2uC
$dArrowTree_a2uz :: {Control.Arrow.ArrowTree.ArrowTree (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowTree_a2uz = $dArrowTree_a2tN
processChildren_a2er :: forall (t_a2ei :: * -> *) b_a2ej.
                        (Data.Tree.Class.Tree t_a2ei) =>
                        Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                             (t_a2ei b_a2ej)
                                                             (t_a2ei b_a2ej)
                        -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                                (t_a2ei b_a2ej)
                                                                (t_a2ei b_a2ej)
[]
processChildren_a2er =  
  Control.Arrow.ArrowTree.processChildren
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowTree_a2uz
$dArrowTree_a2tN :: {Control.Arrow.ArrowTree.ArrowTree (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowTree_a2tN =
  Text.XML.HXT.Arrow.XmlArrow.$p3ArrowXml
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowXml_a2tf
$dArrowIf_a2uw :: {Control.Arrow.ArrowIf.ArrowIf (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowIf_a2uw =
  Control.Arrow.ArrowTree.$p2ArrowTree
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowTree_a2tN
when_a2eo :: forall b_a2d0 c_a2d1.
             Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                  b_a2d0
                                                  b_a2d0
             -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                     b_a2d0
                                                     c_a2d1
             -> Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                     b_a2d0
                                                     b_a2d0
[]
when_a2eo =
  Control.Arrow.ArrowIf.when
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowIf_a2uw
$dArrowXml_a2tf :: {Text.XML.HXT.Arrow.XmlArrow.ArrowXml (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))}
[]
$dArrowXml_a2tf =
  Text.XML.HXT.Arrow.XmlArrow.$f5
    @ (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
isElem_a2en :: Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                    Text.XML.HXT.DOM.TypeDefs.XmlTree
                                                    Text.XML.HXT.DOM.TypeDefs.XmlTree
[]
isElem_a2en =
  Text.XML.HXT.Arrow.XmlArrow.isElem
    @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ()))
    $dArrowXml_a2tf
$dMonad_a2tc :: {GHC.Base.Monad GHC.IOBase.IO}
[]
$dMonad_a2tc = $dMonad_a2sG
return_a2fa :: forall a_a2f2. a_a2f2 -> GHC.IOBase.IO a_a2f2
[]
return_a2fa = GHC.Base.return @ GHC.IOBase.IO $dMonad_a2tc
>>=_a2rV :: forall a_a2rG b_a2rH.
            GHC.IOBase.IO a_a2rG -> (a_a2rG -> GHC.IOBase.IO b_a2rH) -> GHC.IOBase.IO b_a2rH
[]
>>=_a2rV = >>=_a2rI
>>=_a2rS :: forall a_a2rG b_a2rH.
            GHC.IOBase.IO a_a2rG -> (a_a2rG -> GHC.IOBase.IO b_a2rH) -> GHC.IOBase.IO b_a2rH
[]
>>=_a2rS = >>=_a2rI
>>=_a2rP :: forall a_a2rG b_a2rH.
            GHC.IOBase.IO a_a2rG -> (a_a2rG -> GHC.IOBase.IO b_a2rH) -> GHC.IOBase.IO b_a2rH
[]
>>=_a2rP = >>=_a2rI
$dMonad_a2t9 :: {GHC.Base.Monad GHC.IOBase.IO}
[]
$dMonad_a2t9 = $dMonad_a2sG
fail_a2rM :: forall a_a2rL. GHC.Base.String -> GHC.IOBase.IO a_a2rL
[]
fail_a2rM = GHC.Base.fail @ GHC.IOBase.IO $dMonad_a2t9
$dMonad_a2t6 :: {GHC.Base.Monad GHC.IOBase.IO}
[]
$dMonad_a2t6 = $dMonad_a2sG
>>=_a2rI :: forall a_a2rG b_a2rH.
            GHC.IOBase.IO a_a2rG -> (a_a2rG -> GHC.IOBase.IO b_a2rH) -> GHC.IOBase.IO b_a2rH
[]
>>=_a2rI = GHC.Base.>>= @ GHC.IOBase.IO $dMonad_a2t6
$dNum_a2sT :: {GHC.Num.Num GHC.Base.Int}
[]
$dNum_a2sT = GHC.Num.$f6
-_a2rB :: GHC.Base.Int -> GHC.Base.Int -> GHC.Base.Int
[]
-_a2rB = GHC.Num.- @ GHC.Base.Int $dNum_a2sT
lit_a2rA :: GHC.Base.Int
[]
lit_a2rA = GHC.Base.I# 1
lit_a2ry :: GHC.Base.Int
[]
lit_a2ry = GHC.Base.I# 0
$dOrd_a2sL :: {GHC.Base.Ord GHC.Base.Int}
[]
$dOrd_a2sL = GHC.Base.$f1
>=_a2mr :: GHC.Base.Int -> GHC.Base.Int -> GHC.Base.Bool
[]
>=_a2mr = GHC.Base.>= @ GHC.Base.Int $dOrd_a2sL
$dMonad_a2sG :: {GHC.Base.Monad GHC.IOBase.IO}
[]
$dMonad_a2sG = GHC.IOBase.$f16
>>_a2fk :: forall a_a2fi b_a2fj.
           GHC.IOBase.IO a_a2fi -> GHC.IOBase.IO b_a2fj -> GHC.IOBase.IO b_a2fj
[]
>>_a2fk = GHC.Base.>> @ GHC.IOBase.IO $dMonad_a2sG
:Main.main :: GHC.IOBase.IO ()
[Exported]
[]
:Main.main = GHC.TopHandler.runMainIO @ () Main.main
Main.main :: GHC.IOBase.IO ()
[Exported]
[]
Main.main =
  >>_a2fk
    @ ()
    @ ()
    (GHC.Handle.hSetBuffering GHC.Handle.stdin GHC.IOBase.NoBuffering)
    (>>=_a2rV
       @ [GHC.Base.String]
       @ ()
       System.Environment.getArgs
       (\ (argv_aWZ :: [GHC.Base.String]) ->
          >>=_a2rS
            @ GHC.Base.String
            @ ()
            System.IO.getContents
            (\ (text_aX1 :: GHC.Base.String) ->
               >>=_a2rP 
                 @ (Text.XML.HXT.DOM.TypeDefs.Attributes, GHC.Base.String, GHC.Base.String)
                 @ ()   
                 (Main.cmdlineOpts argv_aWZ)
                 (\ (ds_d2v5 :: (Text.XML.HXT.DOM.TypeDefs.Attributes,
                                 GHC.Base.String,
                                 GHC.Base.String)) ->
                    case ds_d2v5 of wild_B1 { (al_aX3, src_aX4, dst_aX5) ->
                    __letrec {
                    } in
                      >>=_a2rI
                        @ [GHC.Base.Int]
                        @ ()
                        (Text.XML.HXT.Arrow.XmlIOStateArrow.runX
                           @ GHC.Base.Int
                           (Main.application
                              @ Text.XML.HXT.DOM.TypeDefs.XmlTree al_aX3 src_aX4 dst_aX5 text_aX1))
                        (\ (ds_d2v0 :: [GHC.Base.Int]) ->
                           let {
                             fail_d2v2 :: GHC.IOBase.IO ()
                             []
                             fail_d2v2 =
                               fail_a2rM
                                 @ ()
                                 (GHC.Base.unpackCString#
                                    "Pattern match failure in do expression at ghc-bug-1.hs:18:6-9")
                           } in
                             case ds_d2v0 of wild_B1 {
                               __DEFAULT -> fail_d2v2;
                               : rc_aX7 ds_d2v1 ->
                                 __letrec {
                                 } in
                                   case ds_d2v1 of wild_B1 {
                                     __DEFAULT -> fail_d2v2;
                                     [] ->
                                       __letrec {
                                       } in
                                         case >=_a2mr rc_aX7 Text.XML.HXT.DOM.TypeDefs.c_err of wild_B1 {
                                           GHC.Base.False -> System.Exit.exitWith @ () GHC.IOBase.ExitSuccess;
                                           GHC.Base.True ->
                                             System.Exit.exitWith
                                               @ () (GHC.IOBase.ExitFailure (-_a2rB lit_a2ry lit_a2rA))
                                         }
                                   }
                             })
                    }))))
main_a2fg :: GHC.IOBase.IO ()
[]
main_a2fg = Main.main   
Main.cmdlineOpts :: [GHC.Base.String]
                    -> GHC.IOBase.IO (Text.XML.HXT.DOM.TypeDefs.Attributes,
                                      GHC.Base.String,
                                      GHC.Base.String)
[Exported]
[]
Main.cmdlineOpts =
  \ (argv_aZH :: [GHC.Base.String]) ->
    return_a2fa
      @ (Text.XML.HXT.DOM.TypeDefs.Attributes, GHC.Base.String, GHC.Base.String)
      ((GHC.Base.:
          @ (GHC.Base.String, GHC.Base.String)
          (Text.XML.HXT.DOM.XmlKeywords.a_validate, Text.XML.HXT.DOM.XmlKeywords.v_0)
          (GHC.Base.[] @ (GHC.Base.String, GHC.Base.String))),
       (GHC.List.!! @ GHC.Base.String argv_aZH (GHC.Base.I# 0)),
       (GHC.List.!! @ GHC.Base.String argv_aZH (GHC.Base.I# 1)))
cmdlineOpts_a2eZ :: [GHC.Base.String]
                    -> GHC.IOBase.IO (Text.XML.HXT.DOM.TypeDefs.Attributes,
                                      GHC.Base.String,
                                      GHC.Base.String)
[]
cmdlineOpts_a2eZ = Main.cmdlineOpts
Main.application :: forall b_aWW.
                    Text.XML.HXT.DOM.TypeDefs.Attributes
                    -> GHC.Base.String
                    -> GHC.Base.String
                    -> GHC.Base.String
                    -> Text.XML.HXT.Arrow.XmlIOStateArrow.IOSArrow b_aWW GHC.Base.Int
[Exported]
[]
Main.application =
  \ (@ b_a2dr) ->
    __letrec {
      application_a2ds :: Text.XML.HXT.DOM.TypeDefs.Attributes
                          -> GHC.Base.String
                          -> GHC.Base.String
                          -> GHC.Base.String
                          -> Text.XML.HXT.Arrow.XmlIOStateArrow.IOSArrow b_a2dr GHC.Base.Int
      []
      application_a2ds =
        \ (al_a10H :: Text.XML.HXT.DOM.TypeDefs.Attributes)
          (src_a10I :: GHC.Base.String)
          (dst_a10J :: GHC.Base.String)
          (text_a10K :: GHC.Base.String) ->
          >>>_a2eN
            @ b_a2dr
            @ Text.XML.HXT.DOM.TypeDefs.XmlTree
            @ GHC.Base.Int
            (Text.XML.HXT.Arrow.ReadDocument.readDocument
               @ ()
               @ b_a2dr 
               (GHC.Base.++
                  @ (GHC.Base.String, GHC.Base.String)
                  al_a10H
                  (GHC.Base.:
                     @ (GHC.Base.String, GHC.Base.String)
                     (Text.XML.HXT.DOM.XmlKeywords.a_parse_html, Text.XML.HXT.DOM.XmlKeywords.v_1)
                     (GHC.Base.[] @ (GHC.Base.String, GHC.Base.String))))
               src_a10I)
            (>>>_a2eK   
               @ Text.XML.HXT.DOM.TypeDefs.XmlTree
               @ (Data.Tree.NTree.TypeDefs.NTree Text.XML.HXT.DOM.TypeDefs.XNode)
               @ GHC.Base.Int
               (processChildren_a2er
                  @ Data.Tree.NTree.TypeDefs.NTree
                  @ Text.XML.HXT.DOM.TypeDefs.XNode
                  $dTree_a2et
                  (when_a2eo
                     @ (Data.Tree.NTree.TypeDefs.NTree Text.XML.HXT.DOM.TypeDefs.XNode)
                     @ Text.XML.HXT.DOM.TypeDefs.XmlTree
                     (Main.addContent text_a10K)
                     isElem_a2en))
               (>>>_a2eH
                  @ (Data.Tree.NTree.TypeDefs.NTree Text.XML.HXT.DOM.TypeDefs.XNode)
                  @ Text.XML.HXT.DOM.TypeDefs.XmlTree
                  @ GHC.Base.Int
                  (Text.XML.HXT.Arrow.WriteDocument.writeDocument
                     @ ()
                     (GHC.Base.++
                        @ (GHC.Base.String, GHC.Base.String)
                        al_a10H
                        (GHC.Base.:
                           @ (GHC.Base.String, GHC.Base.String)
                           (Text.XML.HXT.DOM.XmlKeywords.a_output_html, Text.XML.HXT.DOM.XmlKeywords.v_1)
                           (GHC.Base.:
                              @ (GHC.Base.String, GHC.Base.String)
                              (Text.XML.HXT.DOM.XmlKeywords.a_indent, Text.XML.HXT.DOM.XmlKeywords.v_1)
                              (GHC.Base.:
                                 @ (GHC.Base.String, GHC.Base.String)
                                 (Text.XML.HXT.DOM.XmlKeywords.a_encoding, Text.XML.HXT.DOM.XmlKeywords.utf8)
                                 (GHC.Base.[] @ (GHC.Base.String, GHC.Base.String))))))
                     dst_a10J)
                  (Text.XML.HXT.Arrow.XmlIOStateArrow.getErrStatus @ ())));
      $dTree_a2et :: {Data.Tree.Class.Tree Data.Tree.NTree.TypeDefs.NTree}
      []
      $dTree_a2et = Data.Tree.NTree.TypeDefs.$f1;
    } in  application_a2ds
Main.addContent :: GHC.Base.String
                   -> Text.XML.HXT.Arrow.XmlIOStateArrow.IOSArrow Text.XML.HXT.DOM.TypeDefs.XmlTree
                                                                  Text.XML.HXT.DOM.TypeDefs.XmlTree
[Exported]
[]
Main.addContent =
  \ (text_a13Y :: GHC.Base.String) ->
    __letrec {
      isContent_a140 :: Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                             Text.XML.HXT.DOM.TypeDefs.XmlTree
                                                             GHC.Base.String
      []
      isContent_a140 =  
        >>>_a2aC
          @ Text.XML.HXT.DOM.TypeDefs.XmlTree
          @ Text.XML.HXT.DOM.TypeDefs.XmlTree
          @ GHC.Base.String
          isElem_a2ah   
          (>>>_a2az
             @ Text.XML.HXT.DOM.TypeDefs.XmlTree
             @ Text.XML.HXT.DOM.TypeDefs.XmlTree
             @ GHC.Base.String
             (hasAttr_a2aj (GHC.Base.unpackCString# "id"))
             (>>>_a2aw  
                @ Text.XML.HXT.DOM.TypeDefs.XmlTree
                @ GHC.Base.String
                @ GHC.Base.String
                (getAttrValue_a2al (GHC.Base.unpackCString# "id"))
                (isA_a2at
                   @ GHC.Base.String
                   (\ (x_a144 :: GHC.Base.String) ->
                      ==_a2as x_a144 (GHC.Base.unpackCString# "content")))));
      isContent_a2aF :: Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                             Text.XML.HXT.DOM.TypeDefs.XmlTree
                                                             GHC.Base.String
      []
      isContent_a2aF = isContent_a140;
    } in
      processTopDown_a2d9
        @ Data.Tree.NTree.TypeDefs.NTree
        @ Text.XML.HXT.DOM.TypeDefs.XNode
        $dTree_a2db
        (when_a2d6
           @ (Data.Tree.NTree.TypeDefs.NTree Text.XML.HXT.DOM.TypeDefs.XNode)
           @ GHC.Base.String
           (insertContent_a141
              @ (Control.Arrow.IOStateListArrow.IOSLA (Text.XML.HXT.Arrow.XmlIOStateArrow.XIOState ())
                                                      (Data.Tree.NTree.TypeDefs.NTree Text.XML.HXT.DOM.TypeDefs.XNode)
                                                      (Data.Tree.NTree.TypeDefs.NTree Text.XML.HXT.DOM.TypeDefs.XNode)))
           isContent_a140)
$dTree_a2db :: {Data.Tree.Class.Tree Data.Tree.NTree.TypeDefs.NTree}
[]
$dTree_a2db = Data.Tree.NTree.TypeDefs.$f1
addContent_a1Js :: GHC.Base.String
                   -> Text.XML.HXT.Arrow.XmlIOStateArrow.IOSArrow Text.XML.HXT.DOM.TypeDefs.XmlTree
                                                                  Text.XML.HXT.DOM.TypeDefs.XmlTree
[]
addContent_a1Js = Main.addContent
end Rec }

*** End of Offense ***  


<no location info>:
Compilation had errors  

Changed 4 years ago by simonmar

  • milestone set to 6.8.1

Changed 4 years ago by simonpj

OK this seems to be fixed. Now, with both the 6.8 branch and the HEAD we get

Hpaste2772.hs:57:28:
    Couldn't match expected type `a (t b) (t b)'
	   against inferred type `[a1]'
    In the first argument of `replaceChildren', namely
	`[(readString text)]'
    In the expression: replaceChildren [(readString text)]
    In the definition of `insertContent':
	insertContent = replaceChildren [(readString text)]

I think this is another variant of a 6.6.1 bug where insufficient kind-checking was done.

So I claim it's fixed. Would you like to check? Then we can close it.

Simon

Changed 4 years ago by igloo

  • milestone changed from 6.8.1 to 6.8 branch

We believe this is fixed, so I'm moving it out of the 6.8.1 milestone.

Changed 4 years ago by igloo

  • status changed from new to closed
  • resolution set to fixed

We believe this is fixed. Please reopen if you think it's still broken.

Changed 4 years ago by igloo

  • milestone changed from 6.8 branch to 6.8.2

Changed 2 years ago by simonmar

  • difficulty changed from Moderate (1 day) to Moderate (less than a day)
Note: See TracTickets for help on using tickets.