Re: Unused type variables with non-linear patterns

2015-12-15 Thread Jan Stolarek
> Is there a ticket? #10982 Janek --- Politechnika Łódzka Lodz University of Technology Treść tej wiadomości zawiera informacje przeznaczone tylko dla adresata. Jeżeli nie jesteście Państwo jej adresatem, bądź otrzymaliście ją przez pomyłkę prosimy o powiadomienie o tym nadawcy oraz trwałe jej

RE: Unused type variables with non-linear patterns

2015-12-15 Thread Simon Peyton Jones
I agree too. Is there a ticket? Does it emit a warning right now? Simon From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Richard Eisenberg Sent: 11 December 2015 16:02 To: Michael Sloan Cc: ghc-devs@haskell.org Subject: Re: Unused type variables with

Re: Kinds of type synonym arguments

2015-12-15 Thread Ömer Sinan Ağacan
Hi Richard, Now that we have levity arguments I'm wondering if we should go ahead and implement this. The code is already there - unboxed tuples have levity arguments and then type arguments depend on the levity arguments, so this works: λ> :k (# Int, Int# #) (# Int, Int# #) :: # But

RE: Kinds of type synonym arguments

2015-12-15 Thread Simon Peyton Jones
What is "this" that you propose to implement? Is there a wiki page that describes the design? Simon | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Ömer Sinan | Agacan | Sent: 15 December 2015 23:06 | To: Richard Eisenberg |

Re: Kinds of type synonym arguments

2015-12-15 Thread Ömer Sinan Ağacan
Oh sorry, I just mean that currently boxed tuples don't accept unboxed types: λ> :k ( Int#, Int ) :1:3: error: • Expecting a lifted type, but ‘Int#’ is unlifted • In the type ‘(Int#, Int)’ But unboxed variant of exactly the same thing is accepted: λ> :k (# Int#, Int

Re: Kinds of type synonym arguments

2015-12-15 Thread Dan Doel
This is not a simple change at all, though. The reason that (,) cannot accept arguments of kind # is not just that there was no levity abstraction. You simply cannot abstract over # in the same way as you can *, because the types in # are not represented uniformly. Creating a tuple with an

Re: Kinds of type synonym arguments

2015-12-15 Thread Richard Eisenberg
Yes. I completely agree with Dan. I wasn't suggesting that boxed tuples would be able to work with unboxed arguments. I was just suggesting that it should be possible to declare a levity-polymorphic type synonym for unboxed tuples, if that's what you need. Richard On Dec 15, 2015, at 10:04

RE: -XStrict: Why some binders are not made strict?

2015-12-15 Thread Simon Peyton Jones
| Thanks Simon, this is an interesting and compelling interpretation. | But I'm wondering whether it is enough to specify the dynamic | semantics unambiguously. You make good points. Also, consider f (g x) where f is define in some other (lazy) module. Is that done call-by value?

RE: [commit: ghc] master: Make sure PatSyns only get added once to tcg_patsyns (41ef8f7)

2015-12-15 Thread Simon Peyton Jones
Good catch Matthew! Simon | -Original Message- | From: ghc-commits [mailto:ghc-commits-boun...@haskell.org] On Behalf | Of g...@git.haskell.org | Sent: 11 December 2015 18:12 | To: ghc-comm...@haskell.org | Subject: [commit: ghc] master: Make sure PatSyns only get added once | to

RE: Warning suppression pragmas

2015-12-15 Thread Simon Peyton Jones
All good questions! I have nothing to add to that list. Simon From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Richard Eisenberg Sent: 14 December 2015 14:44 To: Эдгар Жаворонков Cc: ghc-devs Subject: Re: Warning suppression