John Benediktsson
b159995bb4
sets: adding adjoin-all.
2013-03-10 09:11:05 -07:00
John Benediktsson
50db0745d6
graphs: moving to basis.
2013-03-09 08:31:06 -08:00
John Benediktsson
af29a16aeb
classes: finish converting update-map to use hash-sets.
2013-03-08 23:23:39 -08:00
John Benediktsson
f84df9d190
classes: change class-usage to return a sequence like it's documented to do.
2013-03-08 23:06:16 -08:00
John Benediktsson
bca13622f5
classes: use faster closure in class-usages.
2013-03-08 23:04:31 -08:00
John Benediktsson
231cb79282
sets: implement M\ f delete.
2013-03-08 22:26:56 -08:00
John Benediktsson
4da798920e
Revert "graphs: change closure to use a set and operate on sequences."
...
This reverts commit 2cc201a38a
.
2013-03-08 18:08:09 -08:00
John Benediktsson
67e3cfae22
graphs: change closure to use a set and operate on sequences.
2013-03-08 17:53:31 -08:00
John Benediktsson
30bdecd876
hash-sets: back out this change for now.
2013-03-08 17:53:12 -08:00
Doug Coleman
dc395a6b31
hash-sets: Support >alist on hash-sets or else tab-completion breaks. Can we write a unit test for this too?
2013-03-08 17:32:46 -08:00
John Benediktsson
26506a4b0b
destructors: use hash-sets to keep track of disposables.
2013-03-08 16:30:33 -08:00
John Benediktsson
07fc23697b
parser: fix tests for hash-set change.
2013-03-08 14:57:21 -08:00
John Benediktsson
ac67935ef0
classes.tuple: require boa words to have tuple-class arguments.
2013-03-08 14:56:07 -08:00
John Benediktsson
f06bfef276
classes: store implementors in hash-sets.
2013-03-08 10:29:50 -08:00
John Benediktsson
f2d0752403
vocabs.parser: use hash-sets in search-vocab-names.
2013-03-08 10:09:41 -08:00
John Benediktsson
66165f3660
sets: adding diff!.
2013-03-08 08:21:16 -08:00
John Benediktsson
ffd03ec922
sets: adding union! and intersection.
2013-03-08 07:57:45 -08:00
John Benediktsson
931b5cc9bd
hash-sets: fix help-lint warnings.
2013-03-08 06:15:27 -08:00
John Benediktsson
895c6ca7c5
bootstrap: make sure to rehash hash-sets also.
2013-03-07 22:04:52 -08:00
John Benediktsson
23078f7bd7
hash-sets: reuse (rehash).
2013-03-07 22:02:02 -08:00
John Benediktsson
eca5253017
hashtables: reuse (rehash).
2013-03-07 22:01:50 -08:00
John Benediktsson
04af5f2ffb
hash-sets: faster implementation based on hashtables.
2013-03-07 21:43:17 -08:00
John Benediktsson
f2eedb67ec
hashtables: slightly faster grow logic.
2013-03-07 20:51:46 -08:00
John Benediktsson
f46bf3ac5d
sets: adding clear-set.
2013-03-07 18:48:15 -08:00
John Benediktsson
b571a42679
Use -unsafe words with pair methods.
2013-03-07 10:47:23 -08:00
John Benediktsson
7e2ff8864f
sequences: add a copy-unsafe that can be used sometimes.
2013-03-06 14:06:33 -08:00
John Benediktsson
a34c113020
continuations: speed up init-catchstack.
2013-03-06 10:09:14 -08:00
John Benediktsson
87d65d66d6
destructors: adding dispose,.
2013-03-06 09:16:43 -08:00
John Benediktsson
019080d82d
vocabs: only notify vocab-observers if we are creating a new vocab.
2013-03-05 21:13:45 -08:00
John Benediktsson
8f9bd87693
assocs: cleanup and use first2-unsafe in assoc-find.
2013-03-05 20:42:15 -08:00
John Benediktsson
12216b1246
core: some more cleanup of USING lists.
2013-03-05 10:48:14 -08:00
John Benediktsson
5487480126
core: cleanup USING lists.
2013-03-05 10:34:47 -08:00
Doug Coleman
9af2924924
sequences: Rename slice-error the word to check-slice-error, make slice-error the TUPLE: an ERROR:
2013-03-05 06:57:40 -08:00
John Benediktsson
2c33fe56a4
combinators: moving M\ iota hashcode* back since each-integer has hints.
2013-03-04 17:46:46 -08:00
John Benediktsson
ff95c17972
math: speed up (find-integer) and (all-integers?) by removing curry.
2013-03-04 17:32:11 -08:00
John Benediktsson
7a3a801bde
words: adding inline-recursive?.
2013-03-04 16:09:56 -08:00
John Benediktsson
668d37fef7
layouts: speed up ``M\ iota hashcode*`` using most-positive-fixnum.
2013-03-03 17:33:35 -08:00
John Benediktsson
35c313c6b4
combinators: faster hashcode for iota.
2013-03-01 10:42:20 -08:00
John Benediktsson
24fe886946
bootstrap: remove old counting profiler vocab.
2013-03-01 09:18:49 -08:00
John Benediktsson
6d679cf3a2
math.integers: the fixnum-log2 intrinsic didn't work due to inlining.
2013-02-27 17:08:36 -08:00
John Benediktsson
7ba77673a8
math.integers: faster fixnum-log2.
2013-02-27 16:01:34 -08:00
John Benediktsson
07b2a9407e
assocs: change enum to immutable-sequence.
2013-02-22 06:58:29 -08:00
John Benediktsson
0d5a91345b
assocs: allow enums to support sequence protocol.
2013-02-21 18:24:50 -08:00
John Benediktsson
1524d43c9c
sequences: define a single "?set-nth" that is used.
2013-02-20 10:42:21 -08:00
Doug Coleman
10e74c6066
sequences: Add join-as, which takes an exemplar. Move split-subseq and replace from unicode.case to splitting and fix an infinite loop with split-subseq. Add docs/tests.
2013-01-03 16:44:25 -08:00
John Benediktsson
10bd89b439
io.files: fix testcase for renamed icon file.
2012-11-30 18:28:20 -08:00
John Benediktsson
e0aff8d02c
sbufs: no need to contract.
2012-10-24 20:16:34 -07:00
John Benediktsson
247600df71
hashtables: use "4drop" instead of "drop 3drop".
2012-10-23 12:26:14 -07:00
John Benediktsson
5c810c2fa5
io.pathnames: remove file-directory (redundant to parent-directory).
2012-10-23 09:47:57 -07:00
John Benediktsson
87f55eb033
Change "3dup drop" to "2over".
2012-10-22 20:45:15 -07:00
John Benediktsson
65678aeeb2
io.pathnames: adding file-directory.
2012-10-22 18:09:58 -07:00
John Benediktsson
09751634af
Revert "sequences: change map-integers to require fixnum length."
...
This reverts commit 0f71db0c97
.
2012-10-22 11:13:56 -07:00
John Benediktsson
a67ab35ec5
sequences: change map-integers to require fixnum length.
2012-10-22 10:32:27 -07:00
Doug Coleman
3582a6c624
kernel: Add 4dup, 4drop, and 4cleave.
2012-10-22 09:47:34 -07:00
John Benediktsson
28f36a25b0
Revert "core: >array, >byte-vector, >hashtable, >vector should be inline."
...
This reverts commit cd6026e70e
.
2012-10-05 08:30:41 -07:00
John Benediktsson
700cee5afd
core: >array, >byte-vector, >hashtable, >vector should be inline.
2012-09-28 19:31:14 -07:00
John Benediktsson
608bedd208
sequences: change stack effect docs for map-reduce to be more consistent.
2012-09-27 11:14:21 -07:00
John Benediktsson
225e87339b
update some docs that should use $quotation.
2012-09-27 11:09:17 -07:00
John Benediktsson
ebd7ab088d
assocs: 2cache can be a bit more unsafe.
2012-09-23 17:40:25 -07:00
John Benediktsson
02d45f1ac8
classes.algebra: fix docs for class<=.
2012-09-22 21:20:54 -07:00
John Benediktsson
81a894f05f
classes.tuple: adding set-slots and from-slots.
2012-09-22 13:48:25 -07:00
John Benediktsson
f70932040d
classes.builtin: fold type>class.
2012-09-21 11:44:14 -07:00
John Benediktsson
34aab78998
math.integers: fix docs for fixnum comparisons.
2012-09-21 10:05:33 -07:00
Doug Coleman
8295292855
alien: Clarify alien-assembly docs.
2012-09-20 18:25:53 -07:00
John Benediktsson
c1850f416a
sequences: fix docs to use "dst" as a convention.
2012-09-19 16:45:28 -07:00
John Benediktsson
3decf30626
sequences: adding second-, third-, and fourth- unsafe words.
2012-09-19 10:33:51 -07:00
Doug Coleman
c95fd04040
alien: Fix docs.
2012-09-19 09:02:28 -07:00
Doug Coleman
df3f1eaa5b
alien: Fix the usings
2012-09-18 21:31:34 -07:00
Doug Coleman
9e74efc1a5
alien: More docs for alien-assembly.
2012-09-18 20:31:08 -07:00
John Benediktsson
eaed0db99a
Revert "math: speed up integer>fixnum operations."
...
This reverts commit b467db9a9a
.
2012-09-16 07:46:22 -07:00
John Benediktsson
6ea9c0fc02
math: speed up integer>fixnum operations.
2012-09-15 08:52:06 -07:00
John Benediktsson
159f5d6344
math.integers: fix docs for >integer.
2012-09-15 08:51:19 -07:00
John Benediktsson
d31d1eebae
continuations: slight speedup.
2012-09-14 14:59:38 -07:00
John Benediktsson
7e3a5fc1b2
math.order: improve docs for invert-comparison.
2012-09-14 09:45:03 -07:00
John Benediktsson
40e7813214
math.order: cleanup stack effects.
2012-09-14 09:36:09 -07:00
John Benediktsson
2a1fbb3396
math.order: make it more obvious this is a real<=>.
2012-09-14 09:19:26 -07:00
John Benediktsson
3c9fdcff1a
sorting: 6% performance improvement using -unsafe words.
2012-09-14 09:03:55 -07:00
John Benediktsson
2158e772ec
math.order: speed up math comparisons using a math generic.
2012-09-14 08:43:29 -07:00
John Benediktsson
a4f264509d
math: cleaner "2/" speedup by using custom inlining.
2012-09-10 17:59:03 -07:00
John Benediktsson
36fb890be2
math: faster definition of 2/ (allows inlining of fixnum-shift-fast).
2012-09-10 17:20:31 -07:00
John Benediktsson
089bdb1268
math.integers: inline fixnum-log2.
2012-09-10 17:20:12 -07:00
John Benediktsson
62604aeb4b
sequences: bit faster binary-reduce.
2012-09-10 16:53:10 -07:00
John Benediktsson
1a86af31f1
sequences: minor formatting improvements.
2012-09-05 16:21:47 -07:00
John Benediktsson
6f66173784
sequences: faster "flip", looks at each element only once.
2012-09-05 16:02:20 -07:00
John Benediktsson
e36c76cadf
sequences: make nth3-unsafe simpler.
2012-09-05 10:52:44 -07:00
John Benediktsson
00a9fcbc85
sequences: faster binary-reduce.
2012-09-05 09:32:54 -07:00
John Benediktsson
5e0a3c5761
sequences: better "halves".
2012-09-04 19:57:45 -07:00
John Benediktsson
b135b956a7
sequences: less bounds checking in binary-reduce.
2012-09-04 19:57:45 -07:00
John Benediktsson
009fb4249e
math: faster recip for integers and ratios.
2012-09-02 09:47:31 -07:00
John Benediktsson
18a087cb2a
math: adding some tests for bignum bitnot.
2012-08-31 15:22:20 -07:00
John Benediktsson
20100d7853
math.integers: faster fixnum-bit?.
2012-08-30 22:40:22 -07:00
John Benediktsson
629a5b7bf3
sequences: some minor performance improvements.
2012-08-30 11:33:57 -07:00
John Benediktsson
0b8aa8efe0
graphs: move some words to private.
2012-08-30 11:31:52 -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
John Benediktsson
d62fea3bbc
sets: minor improvements to sequence-as-sets.
2012-08-24 16:37:01 -07:00
Doug Coleman
d33dc194ca
core: in-definition -> with-definition.
2012-08-24 16:07:31 -07:00
Doug Coleman
b06b6a8261
core: rename in-word-definition to in-definition
2012-08-24 16:04:49 -07:00
Doug Coleman
84402ccf7e
core: Don't allow nested defintions in :, ::, M:, M::. Fixes #469 .
2012-08-24 15:53:45 -07:00
Doug Coleman
8637c1c012
hashtables: Enforce shape on hashtable literals. Fixes #568 .
2012-08-24 15:11:03 -07:00
Doug Coleman
27f445d505
assocs: Add sift-keys and sift-values. Remove three other implementations
...
of sift-values and use the new one.
2012-08-23 22:36:10 -07:00
John Benediktsson
daed497e3d
combinators: M\ array hashcode* makes memoize faster.
2012-08-23 17:28:27 -07:00
John Benediktsson
54fd95cd81
bootstrap.syntax: removed deprecated ((.
2012-08-21 20:46:29 -07:00
John Benediktsson
465a969b61
layouts: defining "fixnum-bits".
2012-08-21 18:05:59 -07:00
John Benediktsson
6a1f280e88
slots: make predicates return booleans.
2012-08-14 18:09:50 -07:00
John Benediktsson
980f1236cf
io: improve docs for stream-copy*.
2012-08-14 15:12:19 -07:00
John Benediktsson
33c4e19ff9
vocabs: change vocabs-changed to be vocab-changed and take a vocab argument.
2012-08-13 12:05:42 -07:00
John Benediktsson
29f3043061
vocabs.loader: early exit for private vocab.
2012-08-13 11:11:59 -07:00
John Benediktsson
e374f2fa19
vocabs: reverting recent private vocab changes.
2012-08-13 10:32:14 -07:00
John Benediktsson
fc449d55bf
vocabs.loader: adding tests for recent changes.
2012-08-10 15:15:38 -07:00
John Benediktsson
fa57d3e85d
vocabs.loader: simplify.
2012-08-10 15:11:42 -07:00
John Benediktsson
41ed793756
vocabs.loader: more private fixes.
2012-08-10 15:08:40 -07:00
John Benediktsson
344b89fe5f
vocabs.loader: better fix for append-vocab-dir.
2012-08-10 15:01:37 -07:00
John Benediktsson
98f4ec7c43
vocabs.loader: vocab-dir should work with private vocabs too.
2012-08-10 14:43:59 -07:00
John Benediktsson
b957ad1684
vocabs: make source/docs/tests work for private vocabs.
2012-08-10 14:39:53 -07:00
John Benediktsson
9e93cd0e13
sequences.extras: moved 2each-index to extras for now.
2012-08-09 16:36:35 -07:00
John Benediktsson
2e0b0e0262
sequences: adding 2each-index.
2012-08-08 20:08:08 -07:00
John Benediktsson
f60513c053
splitting: making split inline.
2012-08-06 15:08:16 -07:00
Doug Coleman
af9ac34db2
classes.tuple: Fix unit test.
2012-08-03 15:11:30 -07:00
Doug Coleman
cd9dd9d752
core: Throw an error when assigning a bignum to a fixnum tuple slot if the bignum doesn't fit. Fixes #594 .
2012-08-03 14:59:59 -07:00
John Benediktsson
4a56b0c178
hashtables: testing that associate and H{ } set-at have same characteristics.
2012-08-03 08:30:55 -07:00
John Benediktsson
8b2ae0a717
hashtables: reduce default size of associate.
2012-08-02 21:43:37 -07:00
John Benediktsson
c880c28db3
fix using list for recent test additions.
2012-08-02 17:41:13 -07:00
John Benediktsson
10642047e6
adding some tests for the recent integer>fixnum fix.
2012-08-02 15:24:31 -07:00
John Benediktsson
2dafe964fd
namespaces: counter should be inlined for globals optimization to work.
2012-08-02 15:14:21 -07:00
John Benediktsson
bfd7576f73
using integer>fixnum in more places.
2012-08-02 14:26:39 -07:00
John Benediktsson
669367f29f
make: update docs for 'make-assoc' functionality.
2012-08-02 09:32:18 -07:00
John Benediktsson
1a3e8a2994
io.backend: fix docs to show nanoseconds instead of micros.
2012-08-01 12:08:18 -07:00
Doug Coleman
81f50d81eb
sequences: Change bounds-check? to be generic on integer so that floating points can't index into sequences. Fixes #582 .
2012-07-31 08:36:34 -07:00
Doug Coleman
c26ad1eb10
classes.tuple: Fix unit tests related to coerce
2012-07-30 18:41:22 -07:00
Doug Coleman
78db66a924
slots: Don't coerce flots to integers in tuple slots. Add an initial value for bignums so they can be used as tuple slot types. Fixes #593 .
2012-07-30 18:16:44 -07:00
John Benediktsson
6077f2d6c6
Revert "vocabs.loader: teach append-vocab-dir about private vocabs."
...
This reverts commit 9b98c098c1
.
2012-07-30 11:50:22 -07:00
John Benediktsson
42922cee81
vocabs.loader: teach append-vocab-dir about private vocabs.
2012-07-30 11:36:54 -07:00
John Benediktsson
9d2a1a6b7c
splitting: crlf? was unnecessary.
2012-07-30 11:26:38 -07:00
John Benediktsson
5b1b6b6bbb
sequences: improve change-nth, if nth was successful, set-nth can be unsafe.
2012-07-30 11:26:32 -07:00
John Benediktsson
e00aaf4185
sequences: slightly faster sequence=.
2012-07-27 21:30:03 -07:00
John Benediktsson
58e39b5ce5
byte-vectors: simplify >byte-vector.
2012-07-27 21:29:52 -07:00
John Benediktsson
3c03803f21
io.streams.sequence: minor refactor, minor speedup.
2012-07-27 21:12:26 -07:00
John Benediktsson
9920f1d2aa
sequences: minor docs fixes.
2012-07-27 21:04:37 -07:00
John Benediktsson
2a093b373f
Revert "bootstrap: words have read-only string names."
...
This reverts commit 0fa588820f
.
2012-07-27 19:35:48 -07:00
John Benediktsson
be2269e219
Revert "continuations: add typing."
...
This reverts commit 34d3f878cd
.
2012-07-27 19:21:47 -07:00
John Benediktsson
87f8505736
continuations: add typing.
2012-07-27 19:16:31 -07:00
John Benediktsson
c1269bc8a3
parser: make sure lines is an array.
2012-07-27 19:06:22 -07:00
John Benediktsson
391420eab0
bootstrap: words have read-only string names.
2012-07-27 16:44:43 -07:00
John Benediktsson
8c69ea5562
lexer: typed slots.
2012-07-27 16:05:28 -07:00
John Benediktsson
a7fff4f192
sequences: slightly faster ?last.
2012-07-27 09:12:29 -07:00
John Benediktsson
a208946b63
strings.parser: support "\x" ascii hex escapes.
2012-07-26 19:24:25 -07:00
Doug Coleman
ba64012f79
docs: vm says to read "command-line" but it was called "cli". change the article title in the docs.
2012-07-25 23:49:19 -07:00
Doug Coleman
2996ef41ff
sequences: Fix tests that broke when nth could only be integers. Undo integer>fixnum in iota nth. See bug #582 .
2012-07-25 22:17:24 -07:00
John Benediktsson
68f8d5bc17
io: more inlining.
2012-07-25 20:55:01 -07:00
Doug Coleman
4a14bd407d
core: Use integer>fixnum instead of >fixnum for ``nth`` and other sequence operations. Fixes #581 .
2012-07-25 18:24:43 -07:00
Doug Coleman
178f79decf
classes.tuple: Save slot name and tuple in no-slot error.
2012-07-24 14:05:58 -07:00
John Benediktsson
30a198e2ab
classes.tuple: moving get-slot-named and set-slot-named from db.types.
2012-07-24 11:55:16 -07:00
Doug Coleman
affac79815
syntax: Clarify that inlined words can also be compiled stand-alone.
2012-07-23 12:18:43 -07:00
Doug Coleman
6994b0eed8
math.integers: Bignum hashcode* -- call bignum>fixnum to avoid a dispatch.
2012-07-23 09:38:12 -07:00
Doug Coleman
fb4e3ad9bc
compiler: Fix bitand on ratios, floats. Fix shift on ratios, floats. Add integer>fixnum. Fixes #500 .
2012-07-23 09:31:12 -07:00
John Benediktsson
76882d2c25
kernel: adding docs for "same?"
2012-07-21 19:43:16 -07:00
John Benediktsson
493176a3b5
make: switch to with-variable instead of with-scope.
2012-07-21 10:44:54 -07:00
John Benediktsson
4e72d80256
Using "same?" in more places.
2012-07-21 10:22:44 -07:00
John Benediktsson
71cd7c5f81
kernel: adding "same?" which is "bi@ =".
2012-07-21 10:22:29 -07:00
John Benediktsson
4fe25c8fd2
vocabs.parser: speedup parse-datum for numbers.
2012-07-20 22:48:47 -07:00
John Benediktsson
c22893eec8
namespaces: do not create globals via "foo get".
2012-07-20 15:09:06 -07:00
Doug Coleman
a7a34a3b9a
continuations: change continuation word to current-continuation. continuation is now just the tuple name. issue #358
2012-07-20 12:30:14 -07:00
John Benediktsson
7a615ae33b
help: don't make word help create global boxes.
2012-07-20 12:00:47 -07:00
Doug Coleman
b656c8ef9e
hashtables: Revert size of associate, but keep inlined. ~10s speedup on bootstrap
2012-07-20 09:30:37 -07:00
John Benediktsson
00056e2ea7
hashtables: use H{ } clone in associate, make it inline.
2012-07-20 09:04:51 -07:00
John Benediktsson
9d5530f3e4
assocs: inline assoc-empty? and make M\ enum at* not check bounds twice.
2012-07-20 09:04:51 -07:00
John Benediktsson
3502c5fbc2
sequences: fix typo in docs for shorten.
2012-07-20 09:04:51 -07:00
Doug Coleman
46b06e28a6
namespaces: Oops, one escaped the lab
2012-07-20 08:38:53 -07:00
Doug Coleman
7240ccb20e
make: Add ,+ to make
2012-07-19 17:47:50 -07:00
John Benediktsson
6c8c5992a1
make: change default size of make-assoc.
2012-07-19 13:53:42 -07:00
John Benediktsson
559b5bfa5b
using the new H{ } make.
2012-07-19 09:50:09 -07:00
John Benediktsson
04320d27f4
fixing some docs.
2012-07-19 09:47:14 -07:00
John Benediktsson
3e19d9d18d
make: allow make to be used to create assocs.
2012-07-19 09:35:28 -07:00
Doug Coleman
42f4dc36b2
namespaces: Rename ``bind`` to ``with-variables``. Update a few places that called ``global [ ] with-variables`` to use ``with-global``.
2012-07-19 00:02:47 -07:00
John Benediktsson
ac9fc4035f
sequences: faster last / set-last.
2012-07-18 12:31:53 -07:00
John Benediktsson
75778c89c1
Revert "alien: these make "utf8 encode" 7-8% faster."
...
This reverts commit c9664e746b
.
2012-07-18 07:56:05 -07:00
John Benediktsson
940848a813
alien: these make "utf8 encode" 7-8% faster.
2012-07-17 22:52:37 -07:00
John Benediktsson
f0698ee97f
assocs: faster map>assoc.
2012-07-17 15:28:44 -07:00
John Benediktsson
75a1303a36
graphs: simplify by removing temporary namespace variables.
2012-07-17 11:00:38 -07:00
John Benediktsson
b9900248b7
io: simplify stream-exemplar.
2012-07-16 19:30:10 -07:00
John Benediktsson
936bcc48e4
sequences: prepend-as should be inlined.
2012-07-16 11:54:32 -07:00
John Benediktsson
28377f49e7
vocabs: faster check-vocab-name.
2012-07-15 14:21:25 -07:00
John Benediktsson
da692ff7ec
splitting: slightly faster string-lines.
2012-07-13 20:26:07 -07:00
John Benediktsson
4f260ab9bd
"H{ } substitute" is faster than "{ } substitute".
2012-07-13 19:06:38 -07:00
John Benediktsson
646e9db251
splitting: string-lines is 30-70% faster.
2012-07-13 18:24:45 -07:00
John Benediktsson
a642f39a9a
io.streams.sequence: faster stream-read-until.
2012-07-11 18:26:41 -07:00
Doug Coleman
f448405c31
parser: Drunk coding is buzzed coding.
2012-06-21 17:35:24 -07:00
Doug Coleman
cab93dea04
parser: last fix.
2012-06-21 14:18:55 -07:00
Doug Coleman
9d4d5d0d00
renaming fixes: Forgot some words.
2012-06-21 11:54:43 -07:00
Doug Coleman
2f167560f1
issue #358 : rename no-current-vocab
2012-06-21 08:38:05 -07:00
Doug Coleman
7441fa81fc
issue #358 : Rename check-method and check-mixin-class TUPLE:s to ERROR:s.
2012-06-21 08:35:41 -07:00
John Benediktsson
55b127f96b
splitting: adding split*, a variant that keeps elements we split upon.
2012-06-20 19:57:11 -07:00
John Benediktsson
752b5c6887
io.streams.memory: adding with-memory-reader.
2012-06-18 17:24:21 -07:00
John Benediktsson
d1f3b326e5
math: using if-zero in more places.
2012-06-18 14:32:39 -07:00
John Benediktsson
bec49ff840
math.parser: simplify error types.
2012-06-08 07:32:01 -07:00
John Benediktsson
437b1f8785
math.parser: add some tests for errors.
2012-06-06 15:14:52 -07:00
John Benediktsson
3967b19aa5
math.parser: better error messages suggested by @erg.
2012-06-06 15:12:33 -07:00
John Benediktsson
9dbeef4933
math.parser: only allow 10 and 16 base for float>base.
2012-06-06 14:50:07 -07:00
Doug Coleman
cee0b9e854
classes.tuple: Better error message for tuples that try to inherit from themselves. Add must-fail tests for tuples that try to inherit from themselves and for inheriting from a generic.
...
Fixes #412 .
2012-06-01 16:59:03 -07:00
John Benediktsson
915176822b
sequences: un-inline prepend to fix "cannot call" error.
2012-05-29 15:58:19 -07:00
John Benediktsson
1a6be98c45
sequences: change prepend to return type of first sequence to match append.
2012-05-29 11:59:03 -07:00
Felix Kaiser
bad2d7e499
parser: fix typo in docs
2012-05-20 00:34:51 +02:00
John Benediktsson
0f6972b98b
hash-sets: using ?adjoin to implement duplicates, some tests.
2012-05-14 15:47:56 -07:00
John Benediktsson
548af01845
sets: adding ?adjoin.
2012-05-14 15:47:44 -07:00
Doug Coleman
da1747ffed
compiler.units: Oops, meant not to commit this one.
2012-05-04 09:05:43 -07:00
Doug Coleman
3507b9bad7
classes:
...
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -07:00
John Benediktsson
e38e9f2850
sequences: adding find-index-from.
2012-04-27 13:41:47 -07:00
John Benediktsson
d37e5192de
splitting: fixing split1-last.
2012-04-27 08:48:57 -07:00
John Benediktsson
5e16810075
using reverse! when possible.
2012-04-25 20:09:36 -07:00
John Benediktsson
664908c78f
assocs: 50% faster zip.
2012-04-25 20:09:21 -07:00
John Benediktsson
74b8e390f4
make: most sequences are less than 32.
2012-04-19 22:02:47 -07:00
John Benediktsson
8c1165cac1
cleanup some lint warnings.
2012-04-18 17:46:01 -07:00
John Benediktsson
a99afa996c
splitting: fix docs for split1-when.
2012-04-18 15:59:08 -07:00
John Benediktsson
94b73d9371
splitting: adding split1-when.
2012-04-18 15:55:15 -07:00
John Benediktsson
837b22336e
classes.algebra: make class= and only-classoid? use short-circuit logic.
2012-04-18 12:00:24 -07:00
John Benediktsson
c7b6003233
sequences: fixing "Cannot apply 'call' to a run-time computed value" error in map-reduce and 2map-reduce.
2012-04-17 19:04:10 -07:00
John Benediktsson
2407ee0234
sequences: make map-reduce 5-20% faster, and 2map-reduce 3-5% faster.
2012-04-17 17:58:19 -07:00
John Benediktsson
db60f6e8c9
sequences: adding a test for map-reduce.
2012-04-16 17:52:21 -07:00
John Benediktsson
ca4d5cbde0
hash-sets: speed up diff, intersect, and union.
2012-04-16 10:58:08 -07:00
John Benediktsson
22c26ff3f5
vm: adding bignum_gcd primitive.
2012-04-05 09:17:35 -07:00
otoburb
30d8b5211e
io.pathnames: removed dependency on environment.
...
I had an erroneous dependency on basis/environment.
2012-03-30 21:03:01 -07:00
otoburb
152c301d49
io.pathnames: Revised ~ support to expand on the first tilde, and not on "~/".
...
This mimics the same behaviour as "ls ~" in the shell, which expands the alias
as a directory, and not as a filename. For the specific edge-case where a
filename called "~" must have a path constructed to it (e.g. "./~" or "~/~").
2012-03-30 21:01:57 -07:00
otoburb
cb6eb8b2bd
io.pathnames: Added ~/ (tilde) prefix recognition as a special pathname.
...
vocab:, resource: and ~/ are special pathnames. Modified absolute-path word,
added test cases and updated io.pathname documentation.
2012-03-30 21:01:46 -07:00
Joe Groff
83a3a0346b
io.files: check argv when initing resource-path
2012-03-27 16:58:12 -07:00
Joe Groff
526ff277d0
parse -resource-path= during bootstrap
2012-03-25 14:02:32 -07:00
Doug Coleman
ee721d1811
kernel: Change the example for with to be more clear. Division example credit goes to chezmax.
2012-02-16 09:49:08 -08:00
Joe Groff
0ddb6fa96e
Revert "io.pathnames: Added ~/ (tilde) prefix recognition as a special pathname."
...
This reverts commit 4e10f09787
.
2012-01-31 11:46:02 -08:00
Joe Groff
af8dc62104
Revert "io.pathnames: Revised ~ support to expand on the first tilde, and not on "~/"."
...
This reverts commit 251a2a19a6
.
2012-01-31 11:45:51 -08:00
otoburb
dc11f2d7a2
io.pathnames: Revised ~ support to expand on the first tilde, and not on "~/".
...
This mimics the same behaviour as "ls ~" in the shell, which expands the alias
as a directory, and not as a filename. For the specific edge-case where a
filename called "~" must have a path constructed to it (e.g. "./~" or "~/~").
2012-01-11 02:36:47 +00:00
otoburb
a5e8cc75b9
io.pathnames: Added ~/ (tilde) prefix recognition as a special pathname.
...
vocab:, resource: and ~/ are special pathnames. Modified absolute-path word,
added test cases and updated io.pathname documentation.
2012-01-11 02:36:47 +00:00
Slava Pestov
d1b6106011
Set up listener's manifest so that words defined in "scratchpad" take precedence over other vocabularies and do not raise a restart. This matches the behavior of IN: and USE: in files, where the IN: takes precedence. Also remove unused clear-manifest word. Fixes #407
2012-01-02 23:18:52 -06:00
Joe Groff
c4bd4dc1cc
math.parser: hex> etc. shouldn't take radix prefix
...
Fixes #453
2011-12-16 17:20:05 -08:00
rien
b3747936b9
fixed effect based on inner behavior and outer context
2011-12-10 19:47:34 -05:00
Doug Coleman
ad8a1c3905
bootstrap/stage1: Turn off parser-quiet? flag sooner so the files loaded in the USING: list in stage2 print a loading message.
2011-11-30 23:15:43 -08:00
Doug Coleman
3ba787b277
core/basis: trim down using lists
2011-11-30 23:15:42 -08:00
Joe Groff
78d23ce6a0
io: implement stream protocols on f
...
Fixes deployed applications that write to output-stream
2011-11-28 20:36:34 -08:00
Joe Groff
16e510bc76
namespaces: rework so a singleton isn't necessary
...
Make global foldable, and make the underlying global object a hashtable wrapper. Also, use a tuple instead of a generic array for the global box type.
2011-11-28 18:25:27 -08:00
Joe Groff
a1b730e867
namespaces: make set-global/get-global foldable
...
Store the globals hashtable as an array of boxes so that the key-to-reference mapping is constant. Use a singleton and an unfoldable "box-at" word so that get-global and set-global optimize to direct operations on the associated box when the variable name is a compile-time constant. Fixes #200 .
2011-11-28 18:25:27 -08:00
Doug Coleman
2b87eaa1b5
generalizations: Refactor stack-checker so that smart combinators can be used with curry and compose.
2011-11-27 20:25:22 -08:00
Joe Groff
7ac7adeb67
syntax: add note to #! docs
2011-11-27 15:03:40 -08:00
Joe Groff
2cf8b32bda
lexer: skip #! as a single token at front of line
...
Fixes #370
2011-11-27 14:59:54 -08:00
Joe Groff
1d9838aa57
io.files: back out resource-path change
...
It's too brittle against varying current directories or the Factor directory being moved.
2011-11-27 12:37:58 -08:00
Joe Groff
88c9483343
io.files: use initialize to set resource-path
...
If a resource path is already set in the image, don't change it. Should make #364 work a bit more as expected, and let us set the resource path for deployed Mac OS X bundles.
2011-11-27 12:37:58 -08:00
Joe Groff
98fc1e28bd
math.integers: make bignum/f round to even on tie
...
Fixes #372
2011-11-26 17:44:29 -08:00
Joe Groff
0f5b551790
math.integers: pass tests even if number-base set
2011-11-26 17:37:17 -08:00
Joe Groff
269fe9ea1a
math.integers: test round-to-even-on-tie behavior
2011-11-26 16:03:43 -08:00
Joe Groff
90f34d092c
math: neg? needs to be defined for all reals
2011-11-26 15:37:58 -08:00
Joe Groff
a97a9ede15
math.parser: don't accept hex float without expt
...
Part of #372
2011-11-26 15:15:46 -08:00
Joe Groff
e58afa8ab5
oops, radix prefixes shouldn't chain
2011-11-24 12:39:52 -08:00
Joe Groff
fa979425f3
math.parser: test harder
2011-11-24 12:34:50 -08:00
Joe Groff
14efcc69ab
math.parser: reject "0x" etc. without any digits
2011-11-24 12:27:40 -08:00
Joe Groff
0b45465722
parser: remove parse-base dead code
2011-11-23 22:33:31 -08:00
Joe Groff
07abeee9d9
syntax: remove BIN: HEX: OCT:
2011-11-23 20:07:33 -08:00
Joe Groff
4b6559849f
math.parser: oops
2011-11-23 19:51:15 -08:00
Joe Groff
4e8a1d0bb4
math: add neg? word
...
Do the right thing with integers or floats
2011-11-23 19:51:05 -08:00
Joe Groff
72de75b881
let's pretend BIN: HEX: OCT: never happened
2011-11-23 19:22:37 -08:00
Joe Groff
943596575a
use radix literals
2011-11-23 19:03:40 -08:00
Joe Groff
e738c7206c
math.parser: natively support 0b 0o 0x syntax
...
Closes #371
2011-11-23 18:30:22 -08:00
Doug Coleman
64bbd248d5
classes.maybe: Change the type of maybe's class slot. As a result, maybe: maybe: integer is valid now, so fix the unit tests and its prettyprinting.
2011-11-23 01:43:02 -08:00
Doug Coleman
0700dca792
classes.maybe: make maybe's slot type a classoid so you can do maybe: union{ }. Fix prettyprinting of anonymous-union/intersection. Fixes #427 , fixes #428 .
2011-11-23 01:19:09 -08:00
Doug Coleman
f90bc5cdb6
classes: optimize instance? for classoids
2011-11-22 20:38:07 -08:00
Doug Coleman
82c5388f68
classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin.
2011-11-22 18:49:42 -08:00
Doug Coleman
cab0369fec
classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods.
2011-11-22 15:12:20 -08:00
Doug Coleman
fac17c10ba
classes.maybe: move maybe definition from classes.union to classes.maybe
2011-11-22 02:46:36 -08:00
Doug Coleman
067f9830ef
classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches.
2011-11-22 01:56:13 -08:00
Joe Groff
1d4660c7ec
random: go faster
...
* Use int <ref> instead of 4 >le
* Inline sequences:push-all
* Types, hints, inlines
Re: #328
2011-11-15 20:45:16 -08:00
Joe Groff
34e77ec408
strings: inline >string and 1string
...
Fixes #340
2011-11-15 19:15:19 -08:00
Joe Groff
5a66b3b329
rearrange source-file-error error. to load earlier
...
Fixes #359
2011-11-15 18:26:35 -08:00
John Benediktsson
95d5daaa7d
slots: fix initial value tests.
2011-11-14 10:26:08 -08:00
John Benediktsson
00280a52a4
assocs: 5-8% performance improvement to assoc>map. Fixes #69 .
2011-11-12 17:02:33 -08:00
Slava Pestov
07ef058fb0
Fix bootstrap
2011-11-12 16:45:04 -08:00
Slava Pestov
29bc075bc7
hashtables: small cleanup
2011-11-12 15:35:51 -08:00
Slava Pestov
03d6665166
Fix ambiguity between 'initial: f' and no initial value in a slot spec. Fixes #382
2011-11-12 15:35:51 -08:00
Joe Groff
e24400679f
vm: more defense against multi-faulting
...
* Clear faulting_p from a safepoint rather than inside general_error, because jumping into unwind-native-frames could blow up.
* Handle multiple faults from fatal_error by breakpointing. Is there anything else we can safely do at that point?
* Verify memory protection faults in the top half of the signal handlers because signal dispatch could fault. Treat memory faults during gc or fep as fatal errors.
* Add a function factor_vm::abort() that restores the default SIGABRT handler and ::abort()s. Use it from fatal_error() so we get useful context from gdb and so the user gets feedback from the system crash reporter that Factor blew up and didn't just disappear.
* In factorbug(), don't proceed with .s .r .c if it would be unsafe to do so.
* Don't pile on signals if we've already called fatal_error().
2011-11-12 13:02:57 -08:00
Joe Groff
69f35b36aa
math.parser: undo some inlining to shrink size
...
For #318 .
2011-11-11 15:49:53 -08:00
John Benediktsson
7b28e60e0e
hashtables: fix docs for new-key@, and note that quadratic probing is used now.
2011-11-10 16:20:59 -08:00
Joe Groff
3552ade9b1
bootstrap.primitives: remove counting "profiling"
2011-11-10 16:04:42 -08:00
Joe Groff
c31530caec
vm: strip out call-counting profiler
...
This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318 .
2011-11-10 16:01:07 -08:00
John Benediktsson
e29c4589c4
hashtables: allow re-using deleted tombstones. Fixes #381 .
2011-11-10 13:05:51 -08:00
John Benediktsson
27b96452ee
combinators: fix docs for case.
2011-11-10 11:20:28 -08:00
Joe Groff
47cedd8d3d
slice boa -> <slice-unsafe>
...
If you didn't define it, don't boa it
2011-11-09 19:22:09 -08:00
Joe Groff
0cf0b91aad
io: clean up some mess
2011-11-09 19:11:04 -08:00
Joe Groff
b4947a62f6
io: fix each-block-slice typo
2011-11-09 18:06:58 -08:00
Joe Groff
4f4bbd3304
io: more hot-rodding for #376
...
* Change the interface of read-into to return a slice and an eof boolean separately so the compiler can optimize the slice.
* Add an each-stream-block-slice combinator that behaves like each-block but reuses a preallocated buffer for every iteration.
* Pull some strings in the stream-read-into implementation to further improve type propagation and bounds check elimination.
2011-11-09 17:22:01 -08:00
John Benediktsson
22e9109631
sequences: improve docs for map-sum.
2011-11-09 15:00:08 -08:00
Joe Groff
5a3537b90a
io.files: add file-reader, file-writer mixins
...
This lets us do some trickery so that the stream-element-type propagates from <file-reader>/<file-writer>. For #376 .
2011-11-09 14:43:39 -08:00
Joe Groff
f31fb8a968
io:read: don't resize output buffer if unnecessary
...
Even with a short-circuit test in the VM primitives, resize still has an overly high runtime cost in tight loops. For #376 .
2011-11-09 14:29:12 -08:00
Joe Groff
ed24890dce
io.backend.unix: init-signal-pipe function
...
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Doug Coleman
c731dc6edb
Rename lookup to lookup-word.
2011-11-06 16:00:00 -08:00
Doug Coleman
f6353e17cd
Make the require-hook throw an error if the vocabulary does not exist in the dictionary or on disk. Move require docs to vocabs. Add unit tests for require. Fixes #339 .
2011-11-03 11:39:34 -07:00
Joe Groff
d28845a1ef
vm: reserve some more special-objects
...
Need a jit-safepoint object to deal with #332 , and ffi-signal-handler words for immediate signal handling during FFI calls
2011-11-02 22:16:08 -07:00
Doug Coleman
7699fb92b1
vocabs.loader: Fix spacing. Remove unit test.
2011-11-02 19:30:54 -07:00
Doug Coleman
1eed9203bb
Rename (load-vocab) to (require), add tags.txt for "p" vocab loader test. Code formatting.
2011-11-02 18:07:22 -07:00
Joe Groff
8cf18d1a82
remove BSD,solaris,etc. misc platform support code
2011-11-02 17:13:51 -07:00
Doug Coleman
a09a278981
Add a unit test vocabulary for vocabs.loadeer.
2011-11-02 16:47:53 -07:00
Doug Coleman
fb44adef99
Clean up formatting, rename load-vocab-hook to require-hook. Add a unit test for vocabs.loader.
2011-11-02 16:31:42 -07:00
Joe Groff
6ac8478d80
sequences: relate max, min, supremum, infimum docs
...
Suggested by @yac. Closes #321 .
2011-11-02 13:43:06 -07:00
Joe Groff
981862f35e
Revert "syntax: make it so PRIMITIVE: verifies primitives"
...
This reverts commit 200ea70cffc4bdc74a97e4981442161f64cdbaa3.
2011-11-02 13:23:11 -07:00
Joe Groff
a08ba5103a
primitives: fix effect of (clear-samples)
2011-11-02 13:23:11 -07:00
Joe Groff
5b6fb25ffd
add sampling profiler primitives for bootstrap
2011-11-02 13:23:10 -07:00
Joe Groff
c0b26a2781
syntax: make it so PRIMITIVE: verifies primitives
...
It's a bit strange for disparate vocabs to reference words that get created out of thin air during bootstrap, so this lets there be some trace in the seeded vocab source that there was a word created there.
2011-11-02 13:23:09 -07:00
Joe Groff
eac90675c0
move counting profiler to tools.profiler.counting
2011-11-02 13:23:09 -07:00
Joe Groff
33919b2919
tools.profiler: rename to tools.counting-profiler
2011-11-02 13:23:06 -07:00
Joe Groff
186bf65a00
constants for special object hardcoded literals
2011-11-02 12:54:50 -07:00
Doug Coleman
94db86a6db
Make "foo.private" require load foo instead.
...
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201 .
2011-11-02 11:50:03 -07:00
Slava Pestov
f827b74a11
Move definition of 't' from syntax to bootstrap/primitives to fix bootstrap, now that 't' really has to be a class early
2011-10-31 00:24:26 -07:00
Slava Pestov
c14f0ef698
classes.union: unions of built-in types now have more efficient predicates. Fixes #292
2011-10-29 17:11:03 -07:00
Doug Coleman
dc0a921866
Remove the lexer-factory because nothing uses it. Update usages.
2011-10-29 01:11:19 -07:00
Doug Coleman
53c6d08b54
Add a toggle word to namespaces and update docs, tests, and usages. Document with-global too.
2011-10-29 01:05:38 -07:00
Doug Coleman
b43c069b81
Change prompt to something we can copy/paste back into the Factor repl. Add auto-use word. Fixes #301 .
2011-10-29 01:05:38 -07:00
Doug Coleman
aa7f22edc0
Cleanup vocab name validation. Vocab names and vocab prefixes are the same concept, and by disallowing slashes, spaces, and colon, we automatically check for absolute paths. Unit test this.
2011-10-29 01:05:37 -07:00
Joe Groff
1386212d23
vm: dispatch signal handlers through subprimitive
...
We also need to save C ABI volatile registers before calling the signal handler in order to be able to reliably resume. Add signal-handler and leaf-signal-handler subprimitives to preserve volatile registers before invoking the signal handler C function.
2011-10-27 21:18:18 -07:00
Doug Coleman
7b6f27eda6
Add a lint check for swap .. swap that can be replaced by dip. Clean up the cases it finds.
2011-10-26 13:01:04 -07:00
Doug Coleman
1882e3de3e
Use dip instead of swap swap for making file streams
2011-10-26 11:48:26 -07:00
Doug Coleman
4ebe5218c7
Update Windows for word renames, fix lint errors
2011-10-24 21:50:02 -07:00
Doug Coleman
51c033a1f6
Fix all failures in the linux64 build email
2011-10-24 19:33:09 -07:00
Doug Coleman
df64529fb5
Forget some classes after unit tests so that running "classes" test succeeds multiple times in a row
2011-10-24 16:59:46 -07:00
John Benediktsson
ea4fe562c3
vocabs.loader: actually use the root cache.
2011-10-24 16:19:59 -07:00
Doug Coleman
f9257959fd
Rename class to class-of
2011-10-24 06:47:42 -05:00
Doug Coleman
26872ffe4d
Rename vocab to lookup-vocab
2011-10-24 06:42:54 -05:00
Doug Coleman
3d65fbf1c7
Remove docs for removed word
2011-10-24 00:57:14 -05:00
Doug Coleman
2ecd513130
Factor out ``no-roots no-prefixes'' into its own word. Add load-root, load-from-root, vocabs-in-root and implement load in terms of load-from-root.
...
Add error checking for append-vocab-dir and (child-vocabs) in case someone tries to pass them the wrong parameters.
Rename: vocab-dir+ to append-vocab-dir
Document load-from-root and load-root
2011-10-23 19:59:01 -05:00
John Benediktsson
5a943b32c4
Remove stack effects from HELP: declarations.
2011-10-20 19:36:11 -07:00
John Benediktsson
beb5b9bf64
hash-sets: separate <hash-set> and >hash-set to match other containers. Fixes #154 .
2011-10-19 11:35:25 -07:00
John Benediktsson
f4a6e10818
More cleanup of unused stuff.
2011-10-19 11:01:16 -07:00
John Benediktsson
d1f5fefab0
Cleanup some uses of global [ ] bind.
2011-10-19 11:01:16 -07:00
Doug Coleman
c5cca8a6c6
Forgot using in io.tests
2011-10-19 01:16:41 -07:00
Doug Coleman
0e46502f6e
Add with-error>output word and test
2011-10-19 00:56:11 -07:00
John Benediktsson
e648ce70bb
system: fix stack effect for exit in docs.
2011-10-18 20:03:19 -07:00
Joe Groff
13b17fb84a
io: input-stream and output-stream mixins
2011-10-18 16:25:09 -07:00
Joe Groff
d61f335fee
io: error stream combinators
...
* with-error-stream(*)
* with-output+error-stream(*) -- sets output and error stream to same stream
* with-output>error -- sets output stream to error stream for scope
* with-input-output+error-streams(*) -- like with-streams, but sets output and error to same stream
2011-10-18 15:13:33 -07:00
John Benediktsson
80e1c8e3f2
Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed.
2011-10-18 13:19:39 -07:00
Joe Groff
4493d66282
io.encodings.utf16: auto-use strikes again
2011-10-17 21:46:08 -07:00
Joe Groff
67cccc63b3
formatting
2011-10-17 21:23:36 -07:00
Joe Groff
5443664df7
io.encodings.utf16: guess-*coded-length hints
2011-10-17 21:23:11 -07:00
Joe Groff
4bdef412fc
io.encodings.utf16: fast path & slow path speedups
...
Implement M: utf16[bl]e encode-string to use a fast implementation if a string is ASCII only, and do some inlining so the slow path optimizes a bit better.
2011-10-17 21:23:11 -07:00
Joe Groff
aa36db5ca8
io.streams.sequence: missed a USING:
2011-10-17 21:23:10 -07:00
Joe Groff
cd0eb76806
io: remove higher-order stack effects
...
More stack checker breakage
2011-10-17 21:23:10 -07:00
Joe Groff
0353179a92
io.streams.c: remove -seek and -tell methods
...
M: c-stream stream-seek was broken and bootstrap doesn't need it so save some code.
2011-10-17 21:23:10 -07:00
Joe Groff
e426512534
more stream-seekable? and stream-length methods
...
- limited-streams and throw-on-eof-streams
- string-readers and byte-readers
2011-10-17 21:23:09 -07:00
Joe Groff
1b0b765e82
io: document new words
2011-10-17 21:23:09 -07:00
Joe Groff
3588e6e4dc
io.streams.c: help-lint
2011-10-17 21:23:08 -07:00
Joe Groff
4d224b552f
io: stream-read-into and stream-read-partial-into
...
Safe user-facing wrappers for stream-read-unsafe.
2011-10-17 21:23:08 -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
225d10b4dd
io: stream-contents, -seekable?, -length generics
...
stream-contents is extremely slow on decoder streams when implemented with each-block, and it can be implemented very quickly for streams of known length using stream-read-unsafe. Make it generic and provide some off-the-shelf implementations using each-block, a read1 loop, or length + read-unsafe. Provide new stream-seekable? and stream-length generics that can be implemented by stream implementations that know their size.
2011-10-17 21:23:07 -07:00
Joe Groff
1c85631611
io: get variables out of stream-copy loop
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
805b0372da
io: default methods for extended stream protocols
...
Provide default implementations of all the input-stream methods in terms of stream-read1 and of all the output-stream methods in terms of stream-write1.
2011-10-17 21:23:06 -07:00
Joe Groff
aaec2eb1ac
io: add read-unsafe and read-partial-unsafe words
...
Add shortcut words to operate on the input-stream like the other stream methods have. Make all those words inline too just for fun.
2011-10-17 21:23:05 -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