Niklas Broberg:
On 10/11/08, David Menendez [EMAIL PROTECTED] wrote:
On Fri, Oct 10, 2008 at 8:40 PM, Niklas Broberg
[EMAIL PROTECTED] wrote:
src\HSX\XMLGenerator.hs:71:0
Illegal type synonym family application in instance: XML m
In the instance declaration for `EmbedAsChild m (XML m)´
| After installing ghc 6.10-rc, I have a program that
| no longer compiles. I get the dreaded GADT pattern match
| error, instead :)
I'm sorry it's dreaded! Jason is right that the key point is this:
GHC now enforces the rule that in a GADT pattern match
- the type of the scrutinee
Consider the following code
data Data = Data { unData :: !Int }
func :: Data - Int
func x = case unData x of
1 - 2
_ - 0
Compiling with GHC 6.8.2 gives the following stg code
Main.func =
\r [x_slg]
case x_slg of tpl_slx {
Main.Data ipv_slj -
On Wednesday 15 October 2008 10:48:26 you wrote:
Strictness does not imply unboxing.
To see why not, think about the fact that unboxing breaks sharing. By
keeping the pointer-indirection in place, we can share even strict
fields between related values.
I believe I realize that. What I was
I totally agree. Getting the value of the field should just evaluate
x and then use a pointer indirection; there should be no conditional
jumps involved in getting the value.
GHC is just doing the wrong thing.
-- Lennart
On Wed, Oct 15, 2008 at 3:58 PM, Tyson Whitehead [EMAIL PROTECTED]
On Oct 15, 2008, at 11:08 AM, Lennart Augustsson wrote:
I totally agree. Getting the value of the field should just evaluate
x and then use a pointer indirection; there should be no conditional
jumps involved in getting the value.
GHC is just doing the wrong thing.
Can indirection nodes
True, if there can be indirections then that's bad news.
That would make strict fields much less efficient.
But I don't see why indirections should be needed. Simon?
On Wed, Oct 15, 2008 at 4:21 PM, Jan-Willem Maessen
[EMAIL PROTECTED] wrote:
On Oct 15, 2008, at 11:08 AM, Lennart Augustsson
Tyson Whitehead wrote:
It seems to me that the !Int member of the Data constructor is being treated
like it might be a thunk in sni_info (i.e., the whole testq $7,%rbx thing).
Isn't this unnecessary as the ! strictness flag means the Int argument must
be forced by the Data constructor before
On Mon, Oct 13, 2008 at 1:58 AM, Simon Marlow [EMAIL PROTECTED] wrote:
Thanks! New versions of Alex Happy uploaded.
Where to? I only see 2.3 on Hackage, and haskell.org claims that Alex
is still at 2.2.
___
Glasgow-haskell-users mailing list
Hi, Simon
Thanks a lot for your mail. It turns out I could have resolved this by
myself (with the help of this thread http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/15153
, to be honest). What I was missing was this key part:
bind :: forall a b t. W t a - (a - W t b) - W_ t b
schlepptop:
Don Stewart schrieb:
numeric-prelude-0.0.4
Easy: Lanuage pragma
My question was still not answered: I used the non-existing pragma
LANGUAGE_HOW_CAN_WE_ENABLE - I hoped it would be ignored, but it was
parsed and made GHC fail. Why? Bug or feature?
Feature.
twhitehead:
Consider the following code
data Data = Data { unData :: !Int }
func :: Data - Int
func x = case unData x of
1 - 2
_ - 0
Compiling with GHC 6.8.2 gives the following stg code
Main.func =
\r [x_slg]
case x_slg of tpl_slx {
12 matches
Mail list logo