Yuras Shumovich writes:
>>
>> I got another error:
>> --> error start <--
>> [ 8 of 15] Compiling System.MkTemp ( src/System/MkTemp.hs,
>> dist/build/System/MkTemp.o )
>>
>> src/System/MkTemp.hs:214:26:
>> Couldn't match expected type
>
> I got another error:
> --> error start <--
> [ 8 of 15] Compiling System.MkTemp ( src/System/MkTemp.hs,
> dist/build/System/MkTemp.o )
>
> src/System/MkTemp.hs:214:26:
> Couldn't match expected type `IOError'
> against inf
Yuras Shumovich writes:
>> Another error :
>>
>> --> error start <--
>> Preprocessing library plugins-1.4.1...
>> Building plugins-1.4.1...
>> [ 7 of 15] Compiling System.Plugins.Env ( src/System/Plugins/Env.hs,
> dist/build/System/Plugins/E
> Another error :
>
> --> error start <--
> Preprocessing library plugins-1.4.1...
> Building plugins-1.4.1...
> [ 7 of 15] Compiling System.Plugins.Env ( src/System/Plugins/Env.hs,
> dist/build/System/Plugins/Env.o )
>
> src/System/Plugins/E
Yuras Shumovich writes:
>>> src/System/Plugins/Process.hs:59:4:
>>> Warning: A do-notation statement discarded a result of type
>>> GHC.Conc.ThreadId.
>>> Suppress this warning by saying "_ <- forkIO
>>> ((>>)
>>>
>> src/System/Plugins/Process.hs:59:4:
>> Warning: A do-notation statement discarded a result of type
>> GHC.Conc.ThreadId.
>> Suppress this warning by saying "_ <- forkIO
>> ((>>)
>>
Andy Stewart writes:
> Hi Ivan,
>
> Ivan Lazar Miljenovic writes:
>
>> Andy Stewart writes:
>>
>>> Hi all,
>>>
>>> I want to use *plugins* package
>>> (http://hackage.haskell.org/package/plugins-1.4.1)
>>>
>>> Unfortunately, it looks broken.
>>> Anybody can fix it?
>>
>> Try putting an upper bo
In effect, this is a demonstration that Haskell supports recursive
values and not just recursive functions. If the a in
fix :: (a -> a) -> a
were to be unified always with a function type, then that would imply
that the language only supported recursive definitions for functions,
which would be
Assuming 1 :: Int, then:
ones = 1 : ones
is equivalent to:
ones = fix (\ones -> 1:ones)
where fix has type ([Int] -> [Int]) -> [Int].
It's also the case that:
inf = 1+inf
is equivalent to:
inf = fix (\inf -> 1+inf)
where fix has type (Int -> Int) -> Int.
Unfortunately (perhaps), the fixed point r
But in fact it seems to me that the type variable "a" not only can, but
must unify with "b->c".
Is there any use of fix for which this is not true? If this is true, is
the type "a" instead of "b->c" because it is not possible in general for
the type checker to verify this fact, making it some
"Matthew Brecknell" <[EMAIL PROTECTED]> writes:
> As others have pointed out, fix is polymorphic, so "a" can stand for any
> type, including "(b -> c)". Removing redundant parentheses, this means
> fix can directly specialise to:
>
>> fix :: ((b -> c) -> b -> c) -> b -> c
I understand now. I thi
11 matches
Mail list logo