! Copyright (C) 2007, 2009 Mackenzie Straight, Doug Coleman,
! Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: combinators kernel math sequences accessors deques
-search-deques summary hashtables fry math.order ;
+USING: accessors combinators deques fry hashtables kernel math
+math.order parser search-deques sequences summary vocabs.loader ;
IN: dlists
<PRIVATE
: dlist>seq ( dlist -- seq )
[ ] collector [ dlist-each ] dip ;
+: seq>dlist ( seq -- dlist )
+ <dlist> [ '[ _ push-back ] each ] keep ;
+
: 1dlist ( obj -- dlist ) <dlist> [ push-front ] keep ;
: dlist-filter ( ... dlist quot: ( ... value -- ... ? ) -- ... dlist' )
<dlist> [ '[ _ push-back ] dlist-each ] keep ;
INSTANCE: dlist deque
+
+SYNTAX: DL{ \ } [ seq>dlist ] parse-literal ;
+
+{ "dlists" "prettyprint" } "dlists.prettyprint" require-when
+
--- /dev/null
+! Copyright (C) 2011 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: dlists kernel prettyprint.custom ;
+IN: dlists.prettyprint
+
+M: dlist pprint-delims drop \ DL{ \ } ;
+M: dlist >pprint-sequence dlist>seq ;
+M: dlist pprint-narrow? drop f ;
+M: dlist pprint* pprint-object ;
+