USING: io io.files io.streams.duplex kernel sequences
sequences.private strings vectors words memoize splitting
-hints unicode.case io.encodings.latin1 ;
+hints unicode.case continuations io.encodings.latin1 ;
IN: benchmark.reverse-complement
MEMO: trans-map ( -- str )
readln [ do-line (reverse-complement) ] [ show-seq ] if* ;
: reverse-complement ( infile outfile -- )
- latin1 <file-writer> >r latin1 <file-reader> r> <duplex-stream> [
- 500000 <vector> (reverse-complement)
- ] with-stream ;
+ latin1 <file-writer> [
+ swap latin1 <file-reader> [
+ swap <duplex-stream> [
+ 500000 <vector> (reverse-complement)
+ ] with-stream
+ ] with-disposal
+ ] with-disposal ;
: reverse-complement-in
"extra/benchmark/reverse-complement/reverse-complement-in.txt"