Fixed FB case 68 Merge (λget …) and (map: …)
This commit is contained in:
parent
f9fe6a0783
commit
4370e693a2
|
@ -20,6 +20,13 @@
|
|||
|
||||
(require "__DEBUG_require.rkt")
|
||||
|
||||
(map: (λget houses) (get g streets))
|
||||
(map: (λget houses … owner name) (get g streets))
|
||||
(map: (∘ (curry map (∘ (λget name) (λget owner))) (λget houses))
|
||||
(get g streets))
|
||||
(map: (∘ (curry map (∘ string-length (λget name) (λget owner))) (λget houses))
|
||||
(get g streets))
|
||||
|
||||
;; (map: (compose (curry map identity) (λget houses …)) (get g streets))
|
||||
;; (map: (compose (λget houses …) (λ #:∀ (A) ([x : A]) x)) (get g streets))
|
||||
;; (map: (compose (λget houses …) (curry map (λget owner))) (get g streets))
|
||||
|
|
|
@ -96,8 +96,9 @@
|
|||
[(_ (~literal car!) T:expr R) #'(U (Listof T) (Pairof T Any))]
|
||||
[(_ (~literal cdr) T:expr R) #'(Pairof Any T)]
|
||||
[(_ (~literal list) T:expr R) #'T]
|
||||
[(_ ((~literal λget) f …) T:expr R) #'(has-get T f …)]
|
||||
;; Default case:
|
||||
[(_ f:expr T:expr U) #'T]))
|
||||
[(_ f:expr T:expr R) #'T]))
|
||||
|
||||
(define-type-expander (ResultOf stx)
|
||||
(syntax-parse stx
|
||||
|
@ -106,6 +107,7 @@
|
|||
[(_ (~literal car!) T:expr R) #'T]
|
||||
[(_ (~literal cdr) T:expr R) #'T]
|
||||
[(_ (~literal list) T:expr R) #'(List T)]
|
||||
[(_ ((~literal λget) f …) T:expr R) #'(result-get T f …)]
|
||||
;; Default case:
|
||||
[(_ f:expr T:expr R) #'R]))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user