From 107cb30eb236957a5c8823d65971bb51f68639c0 Mon Sep 17 00:00:00 2001 From: interp Date: Tue, 15 Apr 2003 13:55:00 +0000 Subject: [PATCH] factor out generating of 'unique' numbers --- scheme/httpd/surflets/packages.scm | 1 + scheme/httpd/surflets/utilities.scm | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/scheme/httpd/surflets/packages.scm b/scheme/httpd/surflets/packages.scm index cd891b5..565dff6 100644 --- a/scheme/httpd/surflets/packages.scm +++ b/scheme/httpd/surflets/packages.scm @@ -307,6 +307,7 @@ (define-interface surflets/utilities-interface (export form-query-list rev-append + generate-unique-number generate-unique-name)) ;; Intelligent Addresses diff --git a/scheme/httpd/surflets/utilities.scm b/scheme/httpd/surflets/utilities.scm index 41a47fd..f193cb7 100644 --- a/scheme/httpd/surflets/utilities.scm +++ b/scheme/httpd/surflets/utilities.scm @@ -20,9 +20,14 @@ (rev-app (cdr a) (cons (car a) b)) b))) -;; FIXME: consider creating small names -(define generate-unique-name +;; Every call will surely return another number. +(define generate-unique-number (let ((id 0)) - (lambda (type-string) + (lambda () (set! id (+ 1 id)) - (string-append type-string (number->string id))))) \ No newline at end of file + id))) + +;; FIXME: consider creating small names +(define (generate-unique-name type-string) + (string-append type-string + (number->string (generate-unique-number)))) \ No newline at end of file