Hello People,

The -hD profile on ghc-2.02 seems to break the hp2ps.  The other
profiles seem to work.  I suspect it is because somewhere (on line 14)
the words "FOREIGN OBJ" are outputted instead of "ForeignObj", because
if I hack the former with the latter it seems to work.

Details follow,

Cheerio,

Jon


----------------------------------------------------------------------

The Error:
----------

hp2ps-2.02 a.out.hp
hp2ps-2.02: a.out.hp, line 14: integer must follow identifier

The Program:
------------
> module Main where
> import System
> main = getArgs >>= \[x] ->
>        foo (read x)
 
> foo :: Int -> IO ()
> foo x = do
>          putStr "A"
>          if x > 0 then foo (x-1) else putStr "Fin"

Compiled and Run (Solaris)
-------------------------
ghc-2.02 -prof Main.lhs
a.out 10000 +RTS -hD
hp2ps-2.02 a.out.hp

a.out.hp
--------

JOB "a.out +RTS -hD -i1.00 -RTS 10000"
DATE "Thu Apr  3 14:59 1997"
SAMPLE_UNIT "seconds"
VALUE_UNIT "bytes"
BEGIN_SAMPLE 0.00
END_SAMPLE 0.00
BEGIN_SAMPLE 1.00
  ForeignObj 8
  <STBase.ds_s4ON> 8
  <Main.ds_s1oL> 8
  <PrelBase.m./=_s1rPG> 8
  <PrelRead.stg_c1cNB> 8
  <STBase.ds_s4NQ> 8
  FOREIGN OBJ 20
  : 444
  Right 8
  I# 24
  <IOBase.stg_cxG8> 12
  PAP 52
  WriteHandle 16
  C# 288
  MutableArray 12
  Just 8
  <System.stg_ccy3> 8
  <IOHandle.stg_c1f84> 8
  <Main.ds_s1ni> 12
  <Foreign.stg_c6V2> 12
  <STBase.ds_s4Or> 8
  PTR-ARRAY(mut) 16
  <PrelBase.m.==_s1rNU> 8
  (,) 12
  <Main.ds_s1nt> 8
  <IOHandle.fail_s1aVo> 12
  <STBase.stg_c5cS> 8
  (,,) 16
  <STBase.stg_c5cK> 12
END_SAMPLE 1.00
BEGIN_SAMPLE 1.40
END_SAMPLE 1.40

Reply via email to