io: nab io.streams.peek's stream-exemplar-growable

Rename stream-element-examplar to stream-exemplar to match.
db4
Joe Groff 2011-10-12 13:50:38 -07:00
parent 59f0b93290
commit d54824cb40
2 changed files with 13 additions and 16 deletions

View File

@ -81,14 +81,17 @@ SYMBOL: error-stream
<PRIVATE
: (stream-element-exemplar) ( type -- exemplar )
{
: stream-exemplar ( stream -- exemplar )
stream-element-type {
{ +byte+ [ B{ } ] }
{ +character+ [ "" ] }
} case ; inline
: stream-element-exemplar ( stream -- exemplar )
stream-element-type (stream-element-exemplar) ; inline
: stream-exemplar-growable ( stream -- exemplar )
stream-element-type {
{ +byte+ [ BV{ } ] }
{ +character+ [ SBUF" " ] }
} case ; inline
PRIVATE>
@ -120,7 +123,7 @@ PRIVATE>
: stream-contents ( stream -- seq )
[
[ [ ] collector [ each-stream-block ] dip { } like ]
[ stream-element-exemplar concat-as ] bi
[ stream-exemplar concat-as ] bi
] with-disposal ;
: stream-contents-length ( stream -- n )
@ -147,7 +150,7 @@ PRIVATE>
MIXIN: noncopying-reader
: (new-sequence-for-stream) ( n stream -- seq )
stream-element-exemplar new-sequence ; inline
stream-exemplar new-sequence ; inline
: (read-into-new) ( n stream quot -- byte-array/f )
[ 2dup (new-sequence-for-stream) swap ] dip curry keep

View File

@ -9,17 +9,11 @@ TUPLE: peek-stream stream peeked ;
M: peek-stream dispose stream>> dispose ;
: stream-exemplar-growable ( stream -- exemplar )
stream-element-type {
{ +byte+ [ BV{ } ] }
{ +character+ [ SBUF" " ] }
} case ; inline
: stream-new-resizable ( n stream -- exemplar )
stream-element-exemplar new-resizable ; inline
stream-exemplar new-resizable ; inline
: stream-like ( sequence stream -- sequence' )
stream-element-exemplar like ; inline
stream-exemplar like ; inline
: stream-clone-resizable ( sequence stream -- sequence' )
stream-exemplar-growable clone-like ; inline
@ -52,7 +46,7 @@ M:: peek-stream stream-read ( n stream -- sequence )
] [
peeked <reversed>
n #peeked - stream stream>> stream-read
stream stream-element-exemplar append-as
stream stream-exemplar append-as
stream stream-exemplar-growable clone stream peeked<<
] if
@ -83,7 +77,7 @@ M: peek-stream stream-flush stream>> stream-flush ;
: stream-peek ( n stream -- seq )
2dup peeked>> { [ length <= ] [ length 0 > ] } 1&& [
[ peeked>> <reversed> swap head ] [ stream-element-exemplar like ] bi
[ peeked>> <reversed> swap head ] [ stream-exemplar like ] bi
] [
[ nip ]
[ stream-read ] 2bi