RE: ANNOUNCE: GHC 5.03.20020410 snapshot released
| Do I have to hoist the forall quantifiers in bla - forall a | . blub myself? At least, the code typechecks then. Sigh. I forgot to make the forall-hoisting feature apply recursively when I added the rank-N stuff. It's a 2 line change to make it so, but it is a change. Workaround: do the forall-hoisting yourself. Sorry. Simon ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: ANNOUNCE: GHC 5.03.20020410 snapshot released
Am Donnerstag, 18. April 2002 14:12 schrieb Simon Marlow: Ralf Hinze [EMAIL PROTECTED] writes: BTW, does this version support rank-n types? IIRC the previous snapshot did. So presumably this one does too? Yes, it does. Simon That's what I feared ;-). Ok, here is my first attempt at defining a rank-3 function (code attached). ghci responds --- ralf/Haskell ghci -v -fglasgow-exts Rank3.lhs ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 5.03.20020410, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \/\/ /_/\/|_| Type :? for help. Glasgow Haskell Compiler, Version 5.03.20020410, for Haskell 98, compiled by GHC version 5.03.20020410 ... *** Typechecker: Rank3.lhs:20: Illegal polymorphic type: forall b1 b2. (b1 - b2) - h1 f1 b1 - h2 f2 b2 In the type: forall h1 h2 a1 a2. (forall f1 f2. (forall c1 c2. (c1 - c2) - f1 c1 - f2 c2) - forall b1 b2. (b1 - b2) - h1 f1 b1 - h2 f2 b2) - (a1 - a2) - HFix h1 a1 - HFix h2 a2 While checking the type signature for `mapHFix' --- Do I have to hoist the forall quantifiers in bla - forall a . blub myself? At least, the code typechecks then. Cheers, Ralf ghci -v -fglasgow-exts Rank3.lhs data Fork a = ForkC a a mapFork :: forall a1 a2 . (a1 - a2) - (Fork a1 - Fork a2) mapFork mapA (ForkC a1 a2)= ForkC (mapA a1) (mapA a2) data SequF s a = EmptyF | ZeroF (s (Fork a)) | OneF a (s (Fork a)) newtype HFix h a = HIn (h (HFix h) a) type Sequ = HFix SequF mapSequF :: forall s1 s2 . (forall b1 b2 . (b1 - b2) - (s1 b1 - s2 b2)) - (forall a1 a2 . (a1 - a2) - (SequF s1 a1 - SequF s2 a2)) mapSequF mapS mapA EmptyF = EmptyF mapSequF mapS mapA (ZeroF as) = ZeroF (mapS (mapFork mapA) as) mapSequF mapS mapA (OneF a as)= OneF (mapA a) (mapS (mapFork mapA) as) mapHFix :: forall h1 h2 . (forall f1 f2 . (forall c1 c2 . (c1 - c2) - (f1 c1 - f2 c2)) - (forall b1 b2 . (b1 - b2) - (h1 f1 b1 - h2 f2 b2))) - (forall a1 a2 . (a1 - a2) - (HFix h1 a1 - HFix h2 a2)) mapHFix mapH mapA (HIn v) = HIn (mapH (mapHFix mapH) mapA v) mapSequ :: forall a1 a2 . (a1 - a2) - (Sequ a1 - Sequ a2) mapSequ = mapHFix mapSequF main= putStrLn hello world
Re: ANNOUNCE: GHC 5.03.20020410 snapshot released
Ralf Hinze [EMAIL PROTECTED] writes: BTW, does this version support rank-n types? IIRC the previous snapshot did. So presumably this one does too? Jens ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: ANNOUNCE: GHC 5.03.20020410 snapshot released
BTW, does this version support rank-n types? ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
ANNOUNCE: GHC 5.03.20020410 snapshot released
Another snapshot along the 5.03 line, we expect this to be the last snapshot before 5.04. As before, there are NO GUARANTEES as to the stability of this release, but it has passed our three-stage bootstrap and all but one(!) of the 754 regressions tests passed. Documentation is also still lagging behind the new features. Get it from the usual place: http://www.haskell.org/ghc/ Changes since the previous snapshot (5.03.20020204): * GHC switched over to the new hierarchical library structure for its base libraries. The old hslibs and the standard Haskell 98 libraries are still there, so you shouldn't notice any difference for existing code. We're currently working on documenting the new library structure for the next release. * The syntax for implicit parameters has changed: implicit bindings are now introduced with the let keyword instead of with. The bindings in a let must be either all implicit bindings or all explicit, not a mixture of the two. The old with syntax will be supported for a couple of versions or so, but will elicit a warning message from the compiler if you use it. * Foreign export dynamic is allegedly working in GHCi. * Generics are working again. * Explicit kind annotations can now be given on type variables. See the documentation (type system extensions, explicitly-kinded quantification) for more details. * Interface files are now in a binary format for speed of reading/writing. Use ghc --show-iface to show the textual representation of an interface. The synatx of .hi-boot files has changed, and is now much more readable. Cheers, Simon ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: ANNOUNCE: GHC 5.03.20020410 snapshot released
Another snapshot along the 5.03 line, we expect this to be the last snapshot before 5.04. As before, there are NO GUARANTEES as to the stability of this release, but it has passed our three-stage bootstrap and all but one(!) of the 754 regressions tests passed. Documentation is also still lagging behind the new features. Hi, I tried ./configure --prefix=$HOME/Lang make all but the latter command fails with: mk/target.mk:45: mk/package.mk: Datei oder Verzeichnis nicht gefunden make: *** No rule to make target `mk/package.mk'. Stop. ls mk/ boilerplate.mk config.h config.mk opts.mk stamp-htarget.mk bootstrap.mkconfig.h.in config.mk.in paths.mk suffix.mk Am I missing something obvious? Cheers, Ralf ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
RE: ANNOUNCE: GHC 5.03.20020410 snapshot released
Another snapshot along the 5.03 line, we expect this to be the last snapshot before 5.04. As before, there are NO GUARANTEES as to the stability of this release, but it has passed our three-stage bootstrap and all but one(!) of the 754 regressions tests passed. Documentation is also still lagging behind the new features. Hi, I tried ./configure --prefix=$HOME/Lang make all but the latter command fails with: mk/target.mk:45: mk/package.mk: Datei oder Verzeichnis nicht gefunden make: *** No rule to make target `mk/package.mk'. Stop. Sigh, I'll re-roll the source dist. Thanks for pointing it out. Simon ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users