Your original program does not use `inst`, so I'm not sure what you're
referring to.

The expression is certainly typable -- the second program I gave
typechecks at `(-> Any Any)`.

Sam

On Tue, Sep 29, 2015 at 4:32 PM, Matthias Felleisen
<[email protected]> wrote:
>
> The inst inside the expression.
>
> Is this expression typable at the moment?
>
>
>
> On Sep 29, 2015, at 4:14 PM, Sam Tobin-Hochstadt <[email protected]> wrote:
>
>> What use of `inst` produced `Nothing`?
>>
>> Sam
>>
>> On Tue, Sep 29, 2015 at 3:46 PM, Matthias Felleisen
>> <[email protected]> wrote:
>>>
>>> On Sep 29, 2015, at 3:25 PM, Sam Tobin-Hochstadt <[email protected]> 
>>> wrote:
>>>
>>>> I think something problematic is happening with type inference here,
>>>> and better types could be picked. Right now, Typed Racket is doing
>>>> this:
>>>>
>>>>  (compose (λ (x) x) (inst (λ #:forall (a) ({x : a}) x) Nothing))
>>>>
>>>> when it should probably do
>>>>
>>>>  (compose (λ (x) x) (inst (λ #:forall (a) ({x : a}) x) Any))
>>>>
>>>> However, using polymorphic arguments (such as your second function)
>>>> to polymorphic functions (such as `compose`) in general won't produce
>>>> the results you want, and I recommend writing the instantiation you
>>>> want explicitly.
>>>
>>>
>>>
>>> Well yes, that's where I started with inst. The Nothing told me I was on 
>>> the wrong track with inst.
>>>
>>> What you might be saying is 'use inst for compose'.
>>>
>>> -- Matthias
>>>
>>>
>>>
>>>
>>>
>>>>
>>>> Sam
>>>>
>>>> On Tue, Sep 29, 2015 at 2:33 PM, Matthias Felleisen
>>>> <[email protected]> wrote:
>>>>>
>>>>> Why does this
>>>>>
>>>>>> (compose (λ (x) x) (λ #:forall (a) ({x : a}) x))
>>>>>
>>>>> have this type:
>>>>>
>>>>>> - : (-> Nothing Any)
>>>>>
>>>>> Thanks -- Matthias
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups 
>>>>> "Racket Developers" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>>> email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/racket-dev/7E7C582D-7066-4073-AAFD-9B6CA99F1F1E%40ccs.neu.edu.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/CAK%3DHD%2BY9VNCsvx81nHpXcevEW0PmMHD%3DcZxdbFBsmrSEiCiZ2g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to