[Haskell-cafe] Combining Network Descriptions in Reactive.Banana

wren ng thornton wren at freegeek.org
Tue Jul 10 09:31:00 CEST 2012

On 6/27/12 2:57 PM, Alexander Foremny wrote:
> Sweet! Thank you very much!
> Just out of curiosity: how does this differ from the following, not
> compiling type signature?
>> library :: forall t. NetworkDescription t (Behavior t String) ->  IO ()

The type:

     (forall a. F a) -> G

is isomorphic to:

     exists a. (F a -> G)

which differs in the obvious way from:

     forall a. (F a -> G)

Or, from a game-theoretic perspective: with the first type it's the 
callee that gets to decide which type A is; so the caller only knows 
that such an A exists, but they have no knowledge or control over what 
it is. Whereas with the latter type, it's the caller that gets to choose 
A, and the callee has to deal with it no matter which type it is.

Live well,

More information about the Haskell-Cafe mailing list