We've all been away at POPL, still catching up. I've taken a look now.
Yes, this is a bug in 5.02.2 (and all earlier compilers).
What happens is that the fixpoint computation, designed to infer
the context for the derived instance declaration, diverges.
As it happens, it's already fixed in
Certainly.
We've just spent lots of time trying to get this stuff to be utterly
painless to compile, so please let us know if the instructions below
give you any trouble.
The problem is that you didn't compile the whole program with -prof: the
BareBonesArrows library was compiled the
Something is rotten in the state of dynamic types and multiparameter
type classes. I'd be grateful if you'd fix it soon, this is causing
me big difficulties.
I'm sorry if this is complicated, but I've already spent two hours
narrowing this bug down and the security are about to throw me out
of
I'd like write a function taking values with implicit parameters.
This may not be exactly what you're after, but ..
I understand the need for implicit parameters
(sometimes when my functions seem to need A LOT of parameters,
the code looks really messy, and adding another parameter is a
From: Johannes Waldmann:
[reply to Mike Gunter snipped]
BEGIN wishlist:
Now, can we please have defaults in data declarations? As in
data Foo = { host :: String, port = :: Int }
Better still, can we construct default values,
using values of other components, as in
data Tree = {
You don't point it out explicitly, but you are using rank-2 types here!
This is indeed a bug in 5.02, fixed in the current release 5.02.2
Simon
| -Original Message-
| From: Mike Gunter [mailto:[EMAIL PROTECTED]]
| Sent: 31 January 2002 05:36
| To: [EMAIL PROTECTED]
| Subject: Passing
Jan de Wit writes:
I think that what you want here are 'smart constructors', i.e. functions
that create a new value but also perform other initializations.
..
If you define Tree and the smart constructors in a separate module and then
only export the type Tree (*not* the real constructors!),
I think that what you want here are 'smart constructors', i.e. functions
that create a new value but also perform other initializations.
..
If you define Tree and the smart constructors in a separate module and then
only export the type Tree (*not* the real constructors!),
But then I
I'd like write a function taking values with implicit parameters.
This may not be exactly what you're after, but ..
I understand the need for implicit parameters
(sometimes when my functions seem to need A LOT of parameters,
the code looks really messy, and adding another parameter is a
BEGIN wishlist:
snip
My whilist for records. 'Records' provide projection functions, but IMO
that is not enough, it would be really handy to have some 'update' and
'apply field' functions provided automaticly for each field.
I always find myself having to write this functions by hand for
Forgot to mention that a particular case in which these functions are
extremely useful, is when using implicit parameters as John Huges describes
in http://www.md.chalmers.se/~rjmh/Combinators/MonadTransformers.hs
opsss wrong link, correct one is:
http://www.md.chalmers.se/~rjmh/Globals.ps
What's the difference between unIO and unsafePerformIO? And why is the
former safe? (I would like to apply the same questions to unsafeIOToST and
ioToST)
Thanks,
-- Andre
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
It seems to me that it might be useful (and probably
fairly easy) to add to GHC a limited sort of partial
evaluation: programmer-designated top-level CAFs could be
evaluated to WHNF during compilation. Termination of that
compiler phase would obviously not be guaranteed, but if
this were
On 31-Jan-2002, Malcolm Wallace [EMAIL PROTECTED] wrote:
The subordinate names c_i (f_i) must not contain duplicates.
Yet later in the text it is stated that
Exports lists are cumulative: the set of entities exported by an
export list is the union of the entities exported by
I see no reason to disallow duplicates at the subordinate level if
they are permitted otherwise.
Well, disallowing duplicates here may improve error detection,
catching some unintentional typos and cut-and-paste errors.
By the same argument, we should disallow *all* duplicates, for
please forward to those interested
Lipari SOFTWARE ENGINEERING Summer School
Lipari, Sicily, 30.6.-13.7. 2002
http://lipari.cs.unict.it/lipari/index.htm
PROGRAM (Courses of 5x2 lecture hours each):
Software Architectures (David
hi
On Thursday 31 January 2002 03:53 am, Malcolm Wallace wrote:
I see no reason to disallow duplicates at the subordinate level if
they are permitted otherwise.
Well, disallowing duplicates here may improve error detection,
catching some unintentional typos and cut-and-paste errors.
disallowing all duplicates seems tricky. is there a duplicate here:
module A (f, module M) where
import M(f)
Yes, there is a duplicate here. Strangely enough, hbc does not report
this as an error, even though it refuses to compile the following
very similar case:
module A (f, module A)
hi again,
On Thursday 31 January 2002 10:18 am, Malcolm Wallace wrote:
disallowing all duplicates seems tricky. is there a duplicate here:
module A (f, module M) where
import M(f)
Yes, there is a duplicate here. Strangely enough, hbc does not report
this as an error, even though it
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On Friday 25 January 2002 13:25, Jerzy Karczmarczuk wrote:
Block recursive Schemes in Matlab are easier than in C++. Implementing
pyramid algorithms is not difficult. Slicing, reshaping, cloning, etc.
of matrices are very powerful tools, but they
Hello.
I'm having some trouble trying to understand exactly what's behind the rule for pattern-matching with data constructors. The code I'm having trouble with is similar to this:
f (C p1 p2 (C2 p3 p4)) = ...
f _ = False
What happens is if f is called with (C p1 p2 (NOT_C2 ...)), I get a
21 matches
Mail list logo