Let's also try out the abstracted version of this function.
This commit is contained in:
parent
48961eb551
commit
e4a0dc82b3
|
@ -1,6 +1,5 @@
|
||||||
#lang typed-scheme
|
#lang typed-scheme
|
||||||
|
|
||||||
|
|
||||||
(apply (plambda: (a ...) [ys : (a ... a -> Number) *]
|
(apply (plambda: (a ...) [ys : (a ... a -> Number) *]
|
||||||
(lambda: [zs : a ... a]
|
(lambda: [zs : a ... a]
|
||||||
(map (lambda: ([y : (a ... a -> Number)])
|
(map (lambda: ([y : (a ... a -> Number)])
|
||||||
|
@ -55,4 +54,12 @@
|
||||||
(map (lambda: ([y : (a ... a -> Number)])
|
(map (lambda: ([y : (a ... a -> Number)])
|
||||||
(apply y zs))
|
(apply y zs))
|
||||||
ys)))
|
ys)))
|
||||||
+ - * /)
|
+ - * /)
|
||||||
|
|
||||||
|
(: map-with-funcs (All (b a ...) ((a ... a -> b) * -> (a ... a -> (Listof b)))))
|
||||||
|
(define (map-with-funcs . fs)
|
||||||
|
(lambda as
|
||||||
|
(map (lambda: ([f : (a ... a -> b)])
|
||||||
|
(apply f as))
|
||||||
|
fs)))
|
||||||
|
(map-with-funcs + - * /)
|
Loading…
Reference in New Issue
Block a user