Bug in external Core front end (again)?

Kirsten Chevalier krc at uclink.berkeley.edu
Sun May 19 22:01:20 EDT 2002


When I compile the following program with -fext-core:


main = do
  s <- getLine
  putStr (show (foo s))

foo xs = go xs
  where go [] = []
        go (x:xs) = (x:(go xs))


and then try to compile the resulting .hcr file, I get the following error 
message:

Failed to find interface decl for `Main.go'
from module `Main'

I'm using a copy of GHC built from CVS sources on May 13, and the .hcr file
is as follows:

%module Main
  zddShow :: GHCziShow.ZCTShow (GHCziBase.ZMZN GHCziBase.Char) =
    GHCziShow.zdfShowZMZN @ GHCziBase.Char GHCziShow.zdfShowChar;
  main1 :: GHCziPrim.ZLzmzgZR
	   (GHCziPrim.Statezh GHCziPrim.RealWorld)
	   (GHCziPrim.Z2H
	    (GHCziPrim.Statezh GHCziPrim.RealWorld)
	    GHCziBase.Z0T) =
    %case GHCziIOBase.zdfMonadIO
    %of (tpl::GHCziBase.ZCTMonad GHCziIOBase.IO)
      {GHCziBase.ZCDMonad
       (tpl1::%forall a b . GHCziPrim.ZLzmzgZR
			    (GHCziPrim.ZLzmzgZR
			     (GHCziPrim.Statezh GHCziPrim.RealWorld)
			     (GHCziPrim.Z2H (GHCziPrim.Statezh GHCziPrim.RealWorld) a))
			    (GHCziPrim.ZLzmzgZR
			     (GHCziPrim.ZLzmzgZR
			      a
			      (GHCziPrim.ZLzmzgZR
			       (GHCziPrim.Statezh GHCziPrim.RealWorld)
			       (GHCziPrim.Z2H (GHCziPrim.Statezh GHCziPrim.RealWorld) b)))
			     (GHCziPrim.ZLzmzgZR
			      (GHCziPrim.Statezh GHCziPrim.RealWorld)
			      (GHCziPrim.Z2H (GHCziPrim.Statezh GHCziPrim.RealWorld) b))))
       (tpl2::%forall a b . GHCziPrim.ZLzmzgZR
			    (GHCziPrim.ZLzmzgZR
			     (GHCziPrim.Statezh GHCziPrim.RealWorld)
			     (GHCziPrim.Z2H (GHCziPrim.Statezh GHCziPrim.RealWorld) a))
			    (GHCziPrim.ZLzmzgZR
			     (GHCziPrim.ZLzmzgZR
			      (GHCziPrim.Statezh GHCziPrim.RealWorld)
			      (GHCziPrim.Z2H (GHCziPrim.Statezh GHCziPrim.RealWorld) b))
			     (GHCziPrim.ZLzmzgZR
			      (GHCziPrim.Statezh GHCziPrim.RealWorld)
			      (GHCziPrim.Z2H (GHCziPrim.Statezh GHCziPrim.RealWorld) b))))
       (tpl3::%forall a . GHCziPrim.ZLzmzgZR
			  a
			  (GHCziPrim.ZLzmzgZR
			   (GHCziPrim.Statezh GHCziPrim.RealWorld)
			   (GHCziPrim.Z2H (GHCziPrim.Statezh GHCziPrim.RealWorld) a)))
       (tpl4::%forall a . GHCziPrim.ZLzmzgZR
			  (GHCziBase.ZMZN GHCziBase.Char)
			  (GHCziPrim.ZLzmzgZR
			   (GHCziPrim.Statezh GHCziPrim.RealWorld)
			   (GHCziPrim.Z2H (GHCziPrim.Statezh GHCziPrim.RealWorld) a))) ->
	 tpl1 @ (GHCziBase.ZMZN GHCziBase.Char) @ GHCziBase.Z0T
	 SystemziIO.getLine
	 (\ (s::GHCziBase.ZMZN GHCziBase.Char) ->
	      %let %rec
		   {go :: GHCziPrim.ZLzmzgZR
			  (GHCziBase.ZMZN GHCziBase.Char)
			  (GHCziBase.ZMZN GHCziBase.Char) =
		      \ (ds::GHCziBase.ZMZN GHCziBase.Char) ->
			  %case ds %of (wild::GHCziBase.ZMZN GHCziBase.Char)
			    {GHCziBase.ZC
			     (x::GHCziBase.Char) (xs::GHCziBase.ZMZN GHCziBase.Char) ->
			       GHCziBase.zdwZC @ GHCziBase.Char x (go xs);
			     GHCziBase.ZMZN ->
			       GHCziBase.zdwZMZN @ GHCziBase.Char}}
	      %in SystemziIO.putStr
		  (%case zddShow
		   %of (tpl5::GHCziShow.ZCTShow (GHCziBase.ZMZN GHCziBase.Char))
		     {GHCziShow.ZCDShow
		      (tpl6::GHCziPrim.ZLzmzgZR
			     GHCziBase.Int
			     (GHCziPrim.ZLzmzgZR
			      (GHCziBase.ZMZN GHCziBase.Char)
			      (GHCziPrim.ZLzmzgZR
			       (GHCziBase.ZMZN GHCziBase.Char)
			       (GHCziBase.ZMZN GHCziBase.Char))))
		      (tpl7::GHCziPrim.ZLzmzgZR
			     (GHCziBase.ZMZN GHCziBase.Char)
			     (GHCziBase.ZMZN GHCziBase.Char))
		      (tpl8::GHCziPrim.ZLzmzgZR
			     (GHCziBase.ZMZN (GHCziBase.ZMZN GHCziBase.Char))
			     (GHCziPrim.ZLzmzgZR
			      (GHCziBase.ZMZN GHCziBase.Char)
			      (GHCziBase.ZMZN GHCziBase.Char))) ->
			tpl7 (go s)}))};
  Main.zdmain :: GHCziPrim.ZLzmzgZR
		 (GHCziPrim.Statezh GHCziPrim.RealWorld)
		 (GHCziPrim.Z2H
		  (GHCziPrim.Statezh GHCziPrim.RealWorld)
		  GHCziBase.Z0T) =
    GHCziTopHandler.runMain @ GHCziBase.Z0T main1;



-- 
Kirsten Chevalier * krc at uclink.berkeley.edu * Often in error, never in doubt



More information about the Glasgow-haskell-bugs mailing list