Commit Graph

78 Commits (13a84d1ff19d3f330f40d30b5649dda4f5ee5b98)

Author SHA1 Message Date
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
Slava Pestov 75fb15ee4c Split stdio up into input-stream/output-stream, pipes work in progress 2008-05-05 02:19:25 -05:00
Doug Coleman 30b75a797a construct-boa -> boa
construct-empty -> new
2008-04-13 15:06:09 -05:00
Eduardo Cavazos aa40350aa7 replace add* and add with prefix and suffix 2008-03-31 18:18:05 -06:00
Slava Pestov aec04edbda Phasing out get-slots and cleaning up some code 2008-03-29 00:59:05 -05:00
Slava Pestov 4b32fa4d05 Fixing help-lint typos 2008-03-20 20:11:45 -05:00
Doug Coleman 936bd26a3a update core/ to use ERROR: 2008-03-20 15:00:49 -05:00
Slava Pestov 5904d3fffa Fix set-timeout with dan's new encoding stuff 2008-03-19 15:24:49 -05:00