From a710b35a0ceeae45f2e000c4a6f7482a2b248cc4 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 16 Aug 2016 18:48:00 -0400 Subject: [PATCH] Added (length/obj) --- scheme/cyclone/util.sld | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/scheme/cyclone/util.sld b/scheme/cyclone/util.sld index d5a58096..da67226d 100644 --- a/scheme/cyclone/util.sld +++ b/scheme/cyclone/util.sld @@ -48,6 +48,7 @@ delete delete-duplicates flatten + length/obj list-index2 list-insert-at! list-prefix? @@ -127,6 +128,24 @@ ((list? args) args) (else (pair->list args)))) +;; Take arguments for a lambda and pack them depending upon lambda type +;(define (pack-lambda-arguments formals args) +; (cond +; ((symbol? formals) +; (list args)) +; ((list? formals) +; args) +; (else +(define (length/obj l) + (let loop ((lis l) + (len 0)) + (cond + ((pair? lis) + (loop (cdr lis) (+ len 1))) + (else + len)))) + + ; char->natural : char -> natural (define (char->natural c) (let ((i (char->integer c)))