problem compiling an older Haskell program with GHC 6.6.1

2007-07-07 Thread Scott Stoller
hi,

I really appreciate the amazingly fast and helpful feedback to my previous
message.  that problem (FiniteMap not found) is solved.  but a new problem
came up...

I am trying to compile paradox 1.0, an older (GHC 5) Haskell program, 
with GHC 6.6.1 (the Solaris 10 / x86 binary distribution).

now I get the error

  Data.hs:760:20: Not in scope: 'bounds'

Data.hs is one of the files in the program.  here is the nearby code:

updateTable :: Hash a = a - IO b - Table a b - IO b
updateTable x my (MkTable ref) =
  do MkHTab n arr - readIORef ref
 let (_,size) = bounds arr
 hashx= hash x
 i= hashx `mod` size
  ...

in case it's helpful, the entire paradox source code is at
http://www.cs.sunysb.edu/~stoller/out/paradox-1.0-casc.tar.gz
just delete -package lang from the Makefile before running make.

any advice would be greatly appreciated.

best regards,
scott
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: problem compiling an older Haskell program with GHC 6.6.1

2007-07-07 Thread Stefan O'Rear
On Sat, Jul 07, 2007 at 03:59:48PM -0400, Scott Stoller wrote:
 hi,
 
 I really appreciate the amazingly fast and helpful feedback to my previous
 message.  that problem (FiniteMap not found) is solved.  but a new problem
 came up...
 
 I am trying to compile paradox 1.0, an older (GHC 5) Haskell program, 
 with GHC 6.6.1 (the Solaris 10 / x86 binary distribution).
 
 now I get the error
 
   Data.hs:760:20: Not in scope: 'bounds'
 
 Data.hs is one of the files in the program.  here is the nearby code:
 
 updateTable :: Hash a = a - IO b - Table a b - IO b
 updateTable x my (MkTable ref) =
   do MkHTab n arr - readIORef ref
  let (_,size) = bounds arr
  hashx= hash x
  i= hashx `mod` size
   ...
 
 in case it's helpful, the entire paradox source code is at
 http://www.cs.sunysb.edu/~stoller/out/paradox-1.0-casc.tar.gz
 just delete -package lang from the Makefile before running make.

Bounds was removed in 6.4.x to allow for dynamically sized arrays; it
should work as:

updateTable :: Hash a = a - IO b - Table a b - IO b
updateTable x my (MkTable ref) =
  do MkHTab n arr - readIORef ref
 (_,size) - getBounds arr
 let hashx= hash x
 i= hashx `mod` size

Stefan
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: problem compiling an older Haskell program with GHC 6.6.1

2007-07-06 Thread Johannes Waldmann

 Could not find module `Data.FiniteMap':

 is this a backwards-compatibility issue between GHC 6.6.1 and older
 versions of GHC?  

the module has just vanished from libraries.

 is there a simple workaround?

ugly, but workable:

http://dfa.imn.htwk-leipzig.de/cgi-bin/cvsweb/lib/Autolib/Data/Map.hs?rev=1.6

best regards, j.w.
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: problem compiling an older Haskell program with GHC 6.6.1

2007-07-06 Thread Neil Mitchell

Hi


http://dfa.imn.htwk-leipzig.de/cgi-bin/cvsweb/lib/Autolib/Data/Map.hs?rev=1.6


Or easier: 
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/FiniteMap-0.1

Thanks

Neil
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


problem compiling an older Haskell program with GHC 6.6.1

2007-07-06 Thread Scott Stoller
hi,

I am trying to compile paradox 1.0, an older (GHC 5) Haskell program, 
with GHC 6.6.1 (the Solaris 10 / x86 binary distribution).

in case anyone else wants to try it, I put the paradox source code at 
http://www.cs.sunysb.edu/~stoller/out/paradox-1.0-casc.tar.gz

in the Makefile, I deleted -package lang from HFLAGS, and added -v to it.
then I typed make.  I got the following error message:

Glasgow Haskell Compiler, Version 6.6.1, for Haskell 98, compiled by GHC 
version 6.6.1
Using package config file: /usr/local/lib/ghc-6.6.1/package.conf
wired-in package base mapped to base-2.1.1
wired-in package rts mapped to rts-1.0
wired-in package haskell98 mapped to haskell98-1.0
wired-in package template-haskell mapped to template-haskell-2.1
Hsc static flags: -static
Created temporary directory: /tmp/ghc13306_0
*** Chasing dependencies:

Set.hs:26:7:
Could not find module `Data.FiniteMap':
  locations searched:
Data/FiniteMap.hs
Data/FiniteMap.lhs
*** Deleting temp files:
Deleting: /tmp/ghc13306_0/ghc13306_0.dep
*** Deleting temp dirs:
Deleting: /tmp/ghc13306_0
make: *** [depend.mak] Error 1

is this a backwards-compatibility issue between GHC 6.6.1 and older
versions of GHC?  is there a simple workaround?

I can't easily use an older version of GHC, because I don't see binary
distributions of older versions of GHC for Solaris x86.

any advice would be greatly appreciated.

best regards,
scott
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users