Commit Graph

85 Commits (c20d36bab9372a93e3d71be389003d87fc83c859)

Author SHA1 Message Date
Doug Coleman 7c7bb93c55 factor: Rename GENERIC# to GENERIC#:.
Fixes #1670.
2017-06-01 13:58:58 -05:00
John Benediktsson 48b3ec47f7 Revert "io.encodings: Add a stream-tell method for decoder streams."
This reverts commit 417b8abbeac013e20b2b360aa215c38604bd18fc.
2016-03-30 15:16:19 -07:00
John Benediktsson 5961cfb7b9 io.encodings: fix for read-until seps not containing \n. 2014-10-31 09:33:59 -07:00
Doug Coleman 5e16e54b98 io.encodings: For decoders, try to gobble up the next newline if cr>> is true in stream-read-until. Add unit test. Fixes #1177. 2014-10-31 00:58:53 -07:00
John Benediktsson e55be4e70f Revert "Revert "io.encodings: string>byte-array-fast can use (byte-array).""
This reverts commit af6975593756e353654b67b1bf1db7dd06f8c114.
2014-03-07 11:19:45 -08:00
John Benediktsson 72453cdc99 Revert "io.encodings: string>byte-array-fast can use (byte-array)."
This reverts commit f9881290cdb3238365f0bc5d126325236b4c2123.
2014-03-07 09:46:19 -08:00
John Benediktsson c4472362ea io.encodings: string>byte-array-fast can use (byte-array). 2014-02-27 21:10:05 -08:00
John Benediktsson b0195bb448 io: minor cleanups. 2014-02-25 10:04:08 -08:00
John Benediktsson 30f450d21a io.encodings: slight performance improvement to byte-array>string-fast. 2013-11-24 20:04:15 -08:00
John Benediktsson 13ec450ac8 io.encodings.string: faster for ascii and utf8. 2013-11-24 16:08:26 -08:00
John Benediktsson 0806a8ce15 io.encodings: string>byte-array-fast for when aux>> is f. 2013-11-24 13:43:00 -08:00
Doug Coleman d38fdb4433 io.encodings: Add a stream-tell method for decoder streams. 2013-06-04 17:53:15 -07:00
John Benediktsson 67a2b9dc9a io.encodings: speed up ascii and utf8 stream-read-until. 2013-03-18 13:35:22 -07:00
John Benediktsson ee1eb8bf09 io.encodings: this appears to be faster and produce smaller code. 2013-03-15 12:15:52 -07:00
John Benediktsson 86b2dea8d5 io.encodings: remove duplication in decoder-readln. 2013-03-15 10:50:40 -07:00
Doug Coleman 3582a6c624 kernel: Add 4dup, 4drop, and 4cleave. 2012-10-22 09:47:34 -07:00
Doug Coleman 6c4043bb25 io: Make stream-contents call stream-contents* and do the disposal in the top-level. Fixes #645. 2012-08-25 17:03:51 -07:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
John Benediktsson f4a6e10818 More cleanup of unused stuff. 2011-10-19 11:01:16 -07:00
Joe Groff 13b17fb84a io: input-stream and output-stream mixins 2011-10-18 16:25:09 -07:00
Joe Groff 5627492f9b io.encodings: stream-contents method for decoder
stream-contents on decoder is much faster implemented using a read1 loop than with the default implementation.
2011-10-17 21:23:07 -07:00
Joe Groff 09f55f82fa clean up forwarding stream-read-partial-unsafe
Now that "io" provides a method on object for stream-read-partial-unsafe that forwards to stream-read-unsafe, individual stream class that don't implement partial reads don't need to provide such a method themselves.
2011-10-17 21:23:06 -07:00
Joe Groff 6f12322bda kill noncopying-reader mixin, stream-read generic
Now that all streams have been updated to implement the stream-read-unsafe protocol, take out the noncopying-reader shim. Turn stream-read and stream-read-partial into plain functions over the -unsafe generics.
2011-10-17 21:23:05 -07:00
Joe Groff 5e2d95ebb2 io.encodings: decoders can't really seek or tell 2011-10-17 21:23:03 -07:00
Joe Groff 73b6648b0e io.encodings: re-encrypt into stack-ese for core 2011-10-17 21:23:03 -07:00
Joe Groff 008ef0afd7 io.encodings: read-unsafe for decoders†
† currently uses locals, so not bootstrappable
2011-10-17 21:23:02 -07:00
Joe Groff ffacdaf0da io.encodings: encoded/decoded length hints
Add guess-encoded-length and guess-decoded-length generics that encodings can implement to provide hints as to how large the translation product will be, for sizing vectors and things like that.
2011-10-17 21:23:02 -07:00
John Benediktsson fec4cf9109 io.encodings.utf8: assume streams are largely ascii.
Results in 30% faster file-contents for test file and 7% faster benchmark.xml.
2011-10-03 21:49:21 -07:00
Doug Coleman 1b20b0c476 Make sure 0 read always returns f. Fixes issue #70.
More unit tests, fix read-until to return f f sometimes
Rename ((read-until)) to read-until-loop. Fix the stack effect declarations of (read) and handle-readln.
2011-09-09 18:51:06 -07:00
Slava Pestov 2eda6fc6aa io.encodings: add a fast-path for ascii, utf8 and 8-bit encodings when string only contains ASCII characters 2010-04-19 01:14:00 -05:00
Doug Coleman 098fd0248a support limited-streams correctly for seekable streams 2009-10-03 18:27:09 -05:00
Slava Pestov 0f26d02d41 Passing the wrong type of sequence to M\ encoder write now throws an error 2009-04-20 03:26:56 -05:00
Slava Pestov 07a5a46009 Add stream-element-type generic word 2009-03-15 17:11:18 -05:00
Slava Pestov 91d0c4ed1f Fix conflict 2009-02-22 20:02:13 -06:00
Doug Coleman a6b40707df use CONSTANT: in core/ 2009-02-22 19:09:49 -06:00
Slava Pestov 1bbabcd5e1 Remove some usages of slip combinators from the core 2009-02-05 03:29:59 -06:00
Slava Pestov 669548e62e Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary 2009-02-02 13:43:54 -06:00
Slava Pestov daf2857d7b define-inline now takes an effect parameter
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov a4d9cdfeb3 Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov bfd119e3b5 I/O ricing: various hints added so that UTF8 and ASCII fastpaths compile with less dispatch. 25% improvement on reverse-complement 2008-11-06 00:02:44 -06:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 0c304b8fc6 Removing old accessor usages from core and basis 2008-08-31 07:45:33 -05:00
Slava Pestov 95657e5742 Remove some funny retain stack usage 2008-08-18 20:13:24 -05:00
Slava Pestov f5c15481fe Move io.styles to basis 2008-07-28 22:28:13 -05:00
Slava Pestov ac2bf0b87d Adding inline recursive declarations 2008-07-18 19:22:59 -05:00
Slava Pestov 7ca3c2a878 Various minor compiler tweaks 2008-07-12 01:08:30 -05:00
Slava Pestov 27c89d75d4 I/O micro-optimizations; 12% improvement on reverse-complement 2008-06-17 05:22:33 -05:00
Slava Pestov 17001b40cd Improve encoding API 2008-06-12 03:49:29 -05:00
Slava Pestov 2cbfa9c2d7 Move destructors to core 2008-05-14 23:23:12 -05:00
Daniel Ehrenberg 8b6e234709 Encodings use singletons; descriptive error updates 2008-05-10 20:17:24 -05:00