diff options
author | Andy Wingo <wingo@pobox.com> | 2009-02-05 00:31:38 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-02-05 00:31:38 +0100 |
commit | af35fc20a61f175f38b6d7d045c90ca924d82605 (patch) | |
tree | 61785c13bc376afc5111238ac8a9e01179a13e18 | |
parent | 7edf2001274262ec7362c1dc96480aff8e176585 (diff) | |
download | guile-af35fc20a61f175f38b6d7d045c90ca924d82605.tar.gz |
use append-map in goops
* module/oop/goops.scm (ensure-metaclass, make-extended-generic): Some
minor optimizations to use append-map.
-rw-r--r-- | module/oop/goops.scm | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/module/oop/goops.scm b/module/oop/goops.scm index 0340a4c73..99ec1ccb7 100644 --- a/module/oop/goops.scm +++ b/module/oop/goops.scm @@ -128,10 +128,9 @@ (if (null? supers) <class> (let* ((all-metas (map (lambda (x) (class-of x)) supers)) - (all-cpls (apply append - (map (lambda (m) - (cdr (class-precedence-list m))) - all-metas))) + (all-cpls (append-map (lambda (m) + (cdr (class-precedence-list m))) + all-metas)) (needed-metas '())) ;; Find the most specific metaclasses. The new metaclass will be ;; a subclass of these. @@ -319,13 +318,12 @@ (let ((ans (if gws? (let* ((sname (and name (make-setter-name name))) (setters - (apply append - (map (lambda (gf) + (append-map (lambda (gf) (if (is-a? gf <generic-with-setter>) (list (ensure-generic (setter gf) sname)) '())) - gfs))) + gfs)) (es (make <extended-generic-with-setter> #:name name #:extends gfs |