From 6ae8e6ab5060714130679297700c3fbb4822cf83 Mon Sep 17 00:00:00 2001 From: Stevie Strickland Date: Tue, 6 May 2008 18:57:33 +0000 Subject: [PATCH] A couple more functions I've used in my work. svn: r9697 --- collects/typed-scheme/private/base-env.ss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/collects/typed-scheme/private/base-env.ss b/collects/typed-scheme/private/base-env.ss index 21ee9fd206..501a1720b8 100644 --- a/collects/typed-scheme/private/base-env.ss +++ b/collects/typed-scheme/private/base-env.ss @@ -137,6 +137,9 @@ [take (-poly (a) ((-lst a) -Integer . -> . (-lst a)))] [drop (-poly (a) ((-lst a) -Integer . -> . (-lst a)))] [add-between (-poly (a b) ((-lst a) b . -> . (-lst (Un a b))))] + [remove* (-poly (a b) + (cl-> [((-lst a) (-lst a)) (-lst a)] + [((-lst a) (-lst b) (a b . -> . B)) (-lst b)]))] [call-with-values (-poly (a b) (-> (-> a) (-> a b) b))] @@ -188,6 +191,7 @@ [length (make-Poly '(a) (-> (make-lst (-v a)) -Integer))] [memq (make-Poly (list 'a) (-> (-v a) (make-lst (-v a)) (-opt (make-lst (-v a)))))] [memv (make-Poly (list 'a) (-> (-v a) (make-lst (-v a)) (-opt (make-lst (-v a)))))] + [memf (-poly (a) ((a . -> . B) (-lst a) . -> . (-opt (-lst a))))] [member (-poly (a) (a (-lst a) . -> . (-opt (-lst a))))]