summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-02-05 00:31:38 +0100
committerAndy Wingo <wingo@pobox.com>2009-02-05 00:31:38 +0100
commitaf35fc20a61f175f38b6d7d045c90ca924d82605 (patch)
tree61785c13bc376afc5111238ac8a9e01179a13e18
parent7edf2001274262ec7362c1dc96480aff8e176585 (diff)
downloadguile-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.scm12
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