From 3a644fae906737ab212ea26b745fca650c8601ed Mon Sep 17 00:00:00 2001 From: "William J. Bowman" Date: Tue, 19 Jan 2016 11:10:58 -0500 Subject: [PATCH] Added length function --- cur-lib/cur/stdlib/list.rkt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cur-lib/cur/stdlib/list.rkt b/cur-lib/cur/stdlib/list.rkt index f90d396..fcc9ea7 100644 --- a/cur-lib/cur/stdlib/list.rkt +++ b/cur-lib/cur/stdlib/list.rkt @@ -8,7 +8,8 @@ List nil cons - list-ref) + list-ref + length) (data List : (-> (A : Type) Type) (nil : (-> (A : Type) (List A))) @@ -23,3 +24,10 @@ [z (some A a)] [(s (n-1 : Nat)) ((recur rest) n-1)]))])) + +(define (length (A : Type) (ls : (List A))) + (match ls + [(nil (A : Type)) + z] + [(cons (A : Type) (a : A) (rest : (List A))) + (s (recur rest))]))