[racket] Type for transposition idiom
How ugly :-) -- Matthias
On Dec 23, 2014, at 8:41 AM, Alexander D. Knauth wrote:
> I got this to typecheck:
>
> #lang typed/racket
>
> (: my-list : (All (A B ...) (A B ... B -> (List A B ... B))))
> (define (my-list a . bs) (cons a bs))
>
> (: transpose-vector-list (All (A B ...) (-> (List (Vectorof A) (Vectorof B) ... B)
> (Vectorof (List A B ... B)))))
> (define (transpose-vector-list xss)
> (apply vector-map (inst my-list A B ... B) xss))
>
>
> On Dec 22, 2014, at 9:38 PM, Neil Toronto <neil.toronto at gmail.com> wrote:
>
>> Is it possible to get something like this to typecheck in Typed Racket?
>>
>>
>> #lang typed/racket
>>
>> (: transpose-vector-list (All (A ...) (-> (List (Vectorof A) ... A)
>> (Vectorof (List A ... A)))))
>> (define (transpose-vector-list xss)
>> (apply vector-map list xss))
>>
>>
>> TBH, I haven't even gotten the non-dots version of this working, but the above type is what I really need.
>>
>> Neil ⊥
>>
>> ____________________
>> Racket Users list:
>> http://lists.racket-lang.org/users
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20141224/1f25bd6e/attachment-0001.html>