! Copyright (C) 2007, 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs byte-arrays classes classes.tuple
-classes.tuple.private combinators fry hash-sets hashtables kernel math
-quotations sequences sets slots slots.private strings vectors ;
+USING: accessors assocs classes classes.tuple classes.tuple.private
+combinators fry hash-sets hashtables kernel math sequences sets slots
+slots.private ;
IN: mirrors
TUPLE: mirror { object read-only } ;
INSTANCE: mirror assoc
-MIXIN: inspected-sequence
-INSTANCE: array inspected-sequence
-INSTANCE: vector inspected-sequence
-INSTANCE: callable inspected-sequence
-INSTANCE: byte-array inspected-sequence
-INSTANCE: string inspected-sequence
-
GENERIC: make-mirror ( obj -- assoc )
M: hashtable make-mirror ;
M: hash-set make-mirror members make-mirror ;
M: integer make-mirror drop f ;
-M: inspected-sequence make-mirror <enum> ;
+M: sequence make-mirror <enum> ;
M: object make-mirror <mirror> ;