From a42d2b6dd949e63a54af1e445a887ca95612b6a0 Mon Sep 17 00:00:00 2001 From: Stevie Strickland Date: Tue, 15 Jul 2008 00:33:14 -0400 Subject: [PATCH] Add filter-map to base-env.ss original commit: 39c343ec18dc9a850e1461869979a7c06e8d05b4 --- collects/typed-scheme/private/base-env.ss | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/collects/typed-scheme/private/base-env.ss b/collects/typed-scheme/private/base-env.ss index 6c34b14f..6faf49bf 100644 --- a/collects/typed-scheme/private/base-env.ss +++ b/collects/typed-scheme/private/base-env.ss @@ -4,7 +4,7 @@ ;; these are libraries providing functions we add types to that are not in scheme/base (require "extra-procs.ss" - (only-in scheme/list cons? take drop add-between last) + (only-in scheme/list cons? take drop add-between last filter-map) (only-in rnrs/lists-6 fold-left) '#%paramz (only-in scheme/match/runtime match:error) @@ -147,6 +147,11 @@ . -> . (-lst b)) ((a . -> . B) (-lst a) . -> . (-lst a))))] + [filter-map (-polydots (c a b) + ((list + ((list a) (b b) . ->... . (-opt c)) + (-lst a)) + ((-lst b) b) . ->... . (-lst c)))] [take (-poly (a) ((-lst a) -Integer . -> . (-lst a)))] [drop (-poly (a) ((-lst a) -Integer . -> . (-lst a)))] [last (-poly (a) ((-lst a) . -> . a))]