From fee0953cc4733b96ad5c5354e590aaa386e4f40b Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 31 Aug 2009 18:51:47 -0500 Subject: [PATCH] make-mirror method on structs. fix typo on struct-slots stack effect. don't filter initial values in struct>assoc because structs are more low-level and you want to see the entire layout of the struct you're working with, imo. --- basis/classes/struct/prettyprint/prettyprint.factor | 2 +- basis/classes/struct/struct.factor | 2 +- basis/mirrors/mirrors.factor | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/basis/classes/struct/prettyprint/prettyprint.factor b/basis/classes/struct/prettyprint/prettyprint.factor index 1769fafe06..0334b19ddd 100644 --- a/basis/classes/struct/prettyprint/prettyprint.factor +++ b/basis/classes/struct/prettyprint/prettyprint.factor @@ -12,7 +12,7 @@ IN: classes.struct.prettyprint [ drop \ STRUCT: ] if ; : struct>assoc ( struct -- assoc ) - [ class struct-slots ] [ struct-slot-values ] bi zip filter-tuple-assoc ; + [ class struct-slots ] [ struct-slot-values ] bi zip ; : pprint-struct-slot ( slot -- ) ; M: vector make-mirror ; M: quotation make-mirror ; M: object make-mirror ; +M: struct make-mirror struct>assoc [ [ class>> ] dip ] assoc-map ;