]> gitweb.factorcode.org Git - factor.git/blob - basis/delegate/protocols/protocols.factor
Switch to https urls
[factor.git] / basis / delegate / protocols / protocols.factor
1 ! Copyright (C) 2007 Daniel Ehrenberg
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: assocs delegate deques io sequences sequences.private
4 sets ;
5 IN: delegate.protocols
6
7 PROTOCOL: sequence-protocol
8 like new-sequence new-resizable nth nth-unsafe
9 set-nth set-nth-unsafe length set-length
10 lengthen ;
11
12 PROTOCOL: assoc-protocol
13 at* assoc-size >alist set-at assoc-clone-like
14 delete-at clear-assoc new-assoc assoc-like ;
15
16 PROTOCOL: deque-protocol
17 push-front* push-back* peek-front* peek-back* pop-front*
18 pop-back* delete-node deque-member?  clear-deque deque-empty? ;
19
20 PROTOCOL: set-protocol
21 adjoin ?adjoin in? delete ?delete set-like fast-set members
22 union intersect intersects? diff subset? set= duplicates
23 all-unique? null? cardinality clear-set ;
24
25 PROTOCOL: input-stream-protocol
26 stream-read1 stream-read-unsafe stream-read-partial-unsafe
27 stream-readln stream-read-until stream-contents* ;
28
29 PROTOCOL: output-stream-protocol
30 stream-flush stream-write1 stream-write stream-nl ;