]> gitweb.factorcode.org Git - factor.git/blob - basis/summary/summary.factor
summary: change default summary
[factor.git] / basis / summary / summary.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors classes sequences kernel namespaces
4 make words math math.parser assocs ;
5 IN: summary
6
7 GENERIC: summary ( object -- string )
8
9 : object-summary ( object -- string )
10     class name>> ;
11
12 M: object summary object-summary ;
13
14 M: sequence summary
15     [
16         dup class name>> %
17         " with " %
18         length #
19         " elements" %
20     ] "" make ;
21
22 M: assoc summary
23     [
24         dup class name>> %
25         " with " %
26         assoc-size #
27         " entries" %
28     ] "" make ;
29
30 ! Override sequence => integer instance
31 M: f summary object-summary ;
32
33 M: integer summary object-summary ;