Sorry, the full code is here:
http://hpaste.org/69972
On Fri, Jun 15, 2012 at 7:09 AM, Arlen Cuss wrote:
> Hi Magicloud,
>
> The indentation has been lost in the mail. Could you post your code
> (preferably without line numbers) on hpaste.org or similar?
>
> —A
>
>
> On Thursday, 14 June 2012 at
Hi Magicloud,
The indentation has been lost in the mail. Could you post your code (preferably
without line numbers) on hpaste.org or similar?
—A
On Thursday, 14 June 2012 at 5:33 PM, Magicloud Magiclouds wrote:
> And line 14, should be JobInfo a e.
> I must be too sleepy
>
> On Thu, J
And line 14, should be JobInfo a e.
I must be too sleepy
On Thu, Jun 14, 2012 at 3:30 PM, Magicloud Magiclouds
wrote:
> Sorry, the last 'a' of line 22 is 'b'.
>
> On Thu, Jun 14, 2012 at 3:19 PM, Magicloud Magiclouds
> wrote:
>> OK. I am totally confused here. Why "Couldn't match expected ty
Sorry, the last 'a' of line 22 is 'b'.
On Thu, Jun 14, 2012 at 3:19 PM, Magicloud Magiclouds
wrote:
> OK. I am totally confused here. Why "Couldn't match expected type
> `Jobs k e a' with actual type `M.Map k0 b0'"
>
> 9|data JobInfo a e = (Exception e) =>
> 10| JobInfo { j
OK. I am totally confused here. Why "Couldn't match expected type
`Jobs k e a' with actual type `M.Map k0 b0'"
9|data JobInfo a e = (Exception e) =>
10| JobInfo { jobId :: ThreadId
11| , result :: MVar (Either e a) }
12|
13|type Jobs k e a = (Ord k,
I think I need to think this through
On Thu, Jun 14, 2012 at 12:28 PM, Ivan Lazar Miljenovic
wrote:
> On 14 June 2012 14:20, Magicloud Magiclouds
> wrote:
>> OK. I think I understand a little.
>> I use Job here just wants to simplify the code. And since I provide
>> the function as library,
On 14 June 2012 14:20, Magicloud Magiclouds
wrote:
> OK. I think I understand a little.
> I use Job here just wants to simplify the code. And since I provide
> the function as library, I cannot decide what exact type k is. What
> should I do?
Do you know what the type of `a'? If so:
type Job k
OK. I think I understand a little.
I use Job here just wants to simplify the code. And since I provide
the function as library, I cannot decide what exact type k is. What
should I do?
On Thu, Jun 14, 2012 at 11:23 AM, Arlen Cuss wrote:
> (resending to café, turns out I wasn't subbed from this add
(resending to café, turns out I wasn't subbed from this address.)
Hi Magicloud,
This is correct; because you've hidden the type-variables away by universally
quantifying them, there's no more level of specificity you can get back *out*
of them than just "some kind of Map" (Job = M.Map k b, where
Hi there,
Thanks for the reply. To be clear, all I want is to "avoid having to
type type variables all over the place". What should I do? My original
code with RankNTypes and ImpredicativeTypes does not work
The "type Job = forall k a. M.Map k a" works now. But function uses
it does not. C
Thank you all. I just want to wrap some complex types.
So I learn from all info above, I still have to use forall explicitly
On Wed, Jun 13, 2012 at 9:19 PM, Yves Parès wrote:
> Mmmmh... no, to do that you need ImpredicativeTypes (which is I believe
> about to be deprecated).
> You have to de
Mmmmh... no, to do that you need ImpredicativeTypes (which is I believe
about to be deprecated).
You have to declare Job a data, not a type, and use
ExistentialQuantification.
2012/6/13 Ismael Figueroa Palet
> Do you want to hide the specific types of the job? Presumably to then
> define a type
That doesn't require existential quantification, but it'll need Rank-2
types if you ever do anything with Job. Unfortunately, a universally
quantified Job like what you wrote (or what Magicloud seems to want) is
only inhabited by the empty Map.
An existentially quantified Job, as you might get wit
Do you want to hide the specific types of the job? Presumably to then
define a type JobList = [Job] ?
You can do that with the ExistentialQuantification extension.
type Job = forall k a. Map k a
type JobList = [Job]
??
Note you can't unpack the types k a once you have hidden them. But the
typeche
On 13 June 2012 19:59, Magicloud Magiclouds
wrote:
> Hi,
> I've forgotten this.
> This is OK:
> type Job k a = Map k a
> And this is OK:
> {-# LANGUAGE RankNTypes #-} -- or LiberalTypeSynonyms?
> type Job = forall a. forall k. Map k a
>
> Then how to write it like this?
> type Job = Map k a
D
15 matches
Mail list logo