Ignore my last email. I was accidentally using
The Glorious Glasgow Haskell Compilation System, version 6.9.20080616
Mind you I am still having problems just not the same ones. I'll report
back later.
Dominic.
___
Glasgow-haskell-users mailing list
| I also feel that the type errors given when working with existential
| types, especially GADTs with existentials, are confusing. I think
|
| I am using existential types to test GADT code. See
| http://www.haskell.org/haskellwiki/QuickCheck_/_GADT which no longer
| works with 6.10.1.
Really?
Simon Peyton-Jones wrote:
| I also feel that the type errors given when working with existential
| types, especially GADTs with existentials, are confusing. I think
|
| I am using existential types to test GADT code. See
| http://www.haskell.org/haskellwiki/QuickCheck_/_GADT which no
| arbitrarySeq :: Sequence a - Gen RepSeqVal
| arbitrarySeq Nil =
| return (RepSeqVal Nil Empty)
| arbitrarySeq (Cons (CTMandatory (NamedType n i t)) ts) =
| do u - arbitraryType t
|us - arbitrarySeq ts
|case u of
| RepTypeVal a v -
| case us of
|
Simon Peyton-Jones wrote:
| arbitrarySeq :: Sequence a - Gen RepSeqVal
| arbitrarySeq Nil =
| return (RepSeqVal Nil Empty)
| arbitrarySeq (Cons (CTMandatory (NamedType n i t)) ts) =
| do u - arbitraryType t
|us - arbitrarySeq ts
|case u of
| RepTypeVal
Markus Barenhoff wrote:
On Thu 27.11 09:49, Simon Marlow wrote:
Brandon S. Allbery KF8NH wrote:
On 2008 Nov 26, at 9:30, Markus Barenhoff wrote:
Because the ports seem not to get updated, I tried to compile ghc 6.10.1
under freebsd 7 on amd64 myself. For compiling I first used the ports ghc
Peter Hercek wrote:
Simon Marlow wrote:
A similar argument applies to keeping the dynamic stack. The problem
with the dynamic stack is that it doesn't look much like you expect,
due to tail-calls.
Do you think people expect the tail-calls to add a stack frame to the
dynamic stack or is
Hi
I've talked to John a bit, and discussed test cases etc. I've tracked
this down a little way.
Given the attached file, compiling witih SHORT_EXPORT_LIST makes the
code go _slower_. By exporting the print_lines function the code
doubles in speed. This runs against everything I was expecting,
Simon Marlow wrote:
Peter Hercek wrote:
Simon Marlow wrote:
A similar argument applies to keeping the dynamic stack. The problem
with the dynamic stack is that it doesn't look much like you expect,
due to tail-calls.
Do you think people expect the tail-calls to add a stack frame to the
Neil, thank you very much for taking the time to look at this; I
greatly appreciate it.
One thing I don't understand is why the specializations are caused by
print_lines. I suppose the optimizer can infer something which it
couldn't otherwise.
If I read this properly, the functions being
The $f2 comes from the instance Monad (IterateeGM ...).
print_lines uses a specialised version of that instance, namely
Monad (IterateeGM el IO)
The fact that print_lines uses it makes GHC generate a specialised version of
the instance decl.
Even in the absence of print_lines you can
On 28/11/2008, at 15:46, Simon Peyton-Jones wrote:
The $f2 comes from the instance Monad (IterateeGM ...).
print_lines uses a specialised version of that instance, namely
Monad (IterateeGM el IO)
The fact that print_lines uses it makes GHC generate a specialised
version of the
Yes, this does help, thank you. I didn't know you could generate
specialized instances. In fact, I was so sure that this was some
arcane feature I immediately went to the GHC User Guide because I
didn't believe it was documented.
I immediately stumbled upon Section 8.13.9.
Thanks to everyone
Hi
instance Monad m = Monad (IterateeGM el m) where
{-# SPECIALISE instance Monad (IterateeGM el IO) #-}
does that help?
Yes. With that specialise line in, we get identical performance
between the two results.
So, in summary:
The print_lines function uses the IterateeGM with IO as the
Simon Marlow wrote:
Claus Reinke wrote:
Then how about my suggestion for selectively adding lexical scope to
breakpoints? I'd like to be able to say
:break loc/name {names}
and have GHCi make the necessary changes to keep {names} available
for inspection when it hits that breakpoint.
15 matches
Mail list logo