Custom Query
Results (49 - 51 of 5835)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #1123 | fixed | Impredicativity bug: forall not hoisted properly | simonpj | Ashley Yakeley <ashley@…> |
| description |
Try compiling this: {-# OPTIONS -fglasgow-exts #-}
module Bug where
data T a = MkT
out :: forall a. T a -> ()
out MkT = ()
inHoisted :: forall r. () -> (forall a. T a -> r) -> r
inHoisted _ foo = foo MkT
inUnhoisted :: () -> forall r. (forall a. T a -> r) -> r
inUnhoisted _ foo = foo MkT
testHoisted :: ()
testHoisted = inHoisted () out
testUnhoisted :: ()
testUnhoisted = inUnhoisted () out
Results: Bug.hs:18:17:
Couldn't match expected type `T a -> ()'
against inferred type `forall a1. T a1 -> r'
Expected type: (T a -> ()) -> ()
Inferred type: (forall a1. T a1 -> r) -> r
In the expression: inUnhoisted () out
In the definition of `testUnhoisted':
testUnhoisted = inUnhoisted () out
Expected: testUnhoisted to compile, just like testHoisted |
|||
| #1445 | fixed | implicit parameter not hoisted | simonpj | Ashley Yakeley <ashley@…> |
| description |
Try compiling this: {-# OPTIONS -fglasgow-exts #-}
module Bug where
f :: () -> (?p :: ()) => () -> ()
f _ _ = ();
g :: (?p :: ()) => ()
g = f () ()
Results: Bug.hs:7:10:
Couldn't match expected type `{?p::()}' against inferred type `()'
In the second argument of `f', namely `()'
In the expression: f () ()
In the definition of `g': g = f () ()
Expected: to compile. |
|||
| #5153 | duplicate | System.Environment.getArgs does not UTF-8 decode arguments even in UTF-8 locale | Athas | |
| description |
getArgs is implemented as simply dereferencing argv and returning a list of the octets passed as arguments, resulting in unexpected results for multibyte characters. I think it would be more natural if getArgs performed locale-relevant decoding, and a more low-level function (perhaps returning ByteStrings?) was available for when you really want the raw arguments. |
|||
Note: See TracQuery
for help on using queries.
