2008-01-09 18:24:03 -05:00
|
|
|
! Copyright (C) 2007 Daniel Ehrenberg
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-04-07 00:32:21 -04:00
|
|
|
USING: delegate sequences.private sequences assocs io ;
|
2008-01-09 18:24:03 -05:00
|
|
|
IN: delegate.protocols
|
|
|
|
|
|
|
|
PROTOCOL: sequence-protocol
|
2009-02-06 03:43:55 -05:00
|
|
|
like new-sequence new-resizable nth nth-unsafe
|
|
|
|
set-nth set-nth-unsafe length set-length
|
|
|
|
lengthen ;
|
2008-01-09 18:24:03 -05:00
|
|
|
|
|
|
|
PROTOCOL: assoc-protocol
|
2009-02-06 03:43:55 -05:00
|
|
|
at* assoc-size >alist set-at assoc-clone-like
|
|
|
|
delete-at clear-assoc new-assoc assoc-like ;
|
2008-01-09 18:24:03 -05:00
|
|
|
|
2008-05-05 04:51:41 -04:00
|
|
|
PROTOCOL: input-stream-protocol
|
2011-10-14 23:35:24 -04:00
|
|
|
stream-read1 stream-read-unsafe stream-read-partial-unsafe
|
2012-08-25 20:03:51 -04:00
|
|
|
stream-readln stream-read-until stream-contents* ;
|
2008-05-05 04:51:41 -04:00
|
|
|
|
|
|
|
PROTOCOL: output-stream-protocol
|
2009-02-06 03:43:55 -05:00
|
|
|
stream-flush stream-write1 stream-write stream-nl ;
|