PasteRack.org
Paste # 57741
2014-09-28 15:46:25

Fork as a new paste.

Paste viewed 95 times.


Embed:

  1. #lang typed/racket
  2.  
  3. (define f
  4.   (plambda: (a b) ([v : (-> a b)])
  5.     (let* ([f1 : (-> a a) (lambda (x) x)]
  6.            [f2 : (-> b b) (lambda (x) x)]
  7.            [p : (Pairof (-> a a) (-> b b)) (cons f1 f2)])
  8.       p)))
  9.  
  10. (f add1)

=>

- : (Pairof (-> Nothing Nothing) (-> Integer Integer))

'(#<procedure:f1> . #<procedure:f2>)