Slava Pestov
7b110b0bfd
Move 3each, 3map from compiler.utilities to sequences
2009-01-05 17:32:08 -06:00
Slava Pestov
fa4eecacc8
Merge branch 'for-slava' of git://git.rfc1149.net/factor into new_ui
2008-12-28 15:34:57 -06:00
Samuel Tardieu
0182a3430d
Allow sigma and friends to use the stack
...
"sigma" used to use the stack to remember the current total.
This prevented the use of quotations manipulating elements
that were expecting to be on the stack.
This patch hides the counter while executing the quotation,
so that the latter can fully use the stack.
2008-12-27 21:39:32 +01:00
Doug Coleman
f9dacfb16b
more docs for pathnames
2008-12-26 17:13:20 -06:00
Slava Pestov
0ebd6c1974
Merge branch 'master' into new_ui
2008-12-22 05:44:39 -06:00
Slava Pestov
058ba127cb
Cleaning up more -rot usages
2008-12-22 05:41:01 -06:00
Slava Pestov
5543cc6aaf
Merge branch 'master' into new_ui
2008-12-22 00:55:07 -06:00
unknown
99c6a9f31d
Fix kernel unit tests on Win64
2008-12-21 18:52:13 -06:00
Slava Pestov
61ac513b32
Merge branch 'master' into new_ui
2008-12-21 14:41:24 -06:00
Slava Pestov
19a8a9ac9b
Minor documentation updates
2008-12-21 14:29:12 -06:00
Slava Pestov
9ae23231af
Merge branch 'new_ui' of /Users/slava/old/factor into new_ui
2008-12-17 23:41:17 -06:00
Slava Pestov
5fdb474c76
Fixing various test failures and updating some more vocabs for >r/r> removal
2008-12-17 22:29:32 -06:00
Slava Pestov
34792a9f23
Remove >r/r>
2008-12-17 19:17:37 -06:00
Slava Pestov
0643cf3a44
Merge branch 'master' into new_ui
2008-12-17 18:15:01 -06:00
Slava Pestov
2b553566d2
Fix bootstrap
2008-12-17 18:12:59 -06:00
Slava Pestov
c5160d76e9
Merge qualified, alias, symbols, constants into core
2008-12-17 18:10:01 -06:00
Slava Pestov
45429fed2f
Minor doc clarification
2008-12-17 15:02:06 -06:00
Slava Pestov
425c70caa9
Remove empty tags file
2008-12-16 02:03:35 -06:00
Slava Pestov
63fda570bf
Fixing assorted compile errors and help lint warnings
2008-12-16 01:12:36 -06:00
Slava Pestov
0021cde743
Fix more compile errors
2008-12-15 22:21:56 -06:00
U-SLAVA-DFB8FF805\Slava
bf4acfa509
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-13 05:06:56 -06:00
Slava Pestov
400b2a0ccb
Add declaration to from-end
2008-12-15 21:34:25 -06:00
Slava Pestov
de3a4f5462
Change some dup ... swap to bi and keep
2008-12-15 21:20:32 -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
e335059a87
Add meta-data to new I/O vocabularies
2008-12-15 08:15:32 -06:00
Slava Pestov
5cb18d51b3
Fixing test-all and help-lint-all failures
2008-12-15 03:33:04 -06:00
U-SLAVA-DFB8FF805\Slava
53db40ba13
Add more stack declarations
2008-12-13 05:06:28 -06:00
Slava Pestov
9f2431996d
Merge branch 'master' into new_ui
2008-12-13 05:00:55 -06:00
Slava Pestov
023ae576b5
Updating unit tests for io.files split
2008-12-15 01:40:50 -06:00
Slava Pestov
e0f86889c7
Fixing load-everything for io.files split
2008-12-15 01:13:35 -06:00
Slava Pestov
59a5e554d4
Split up io.directories further, move file types to io.files.types. Bunny demo no longer pulls in file-info and file-system-info code, reducing image size by 35kb
2008-12-15 00:01:06 -06:00
Slava Pestov
6ea1de887d
More unit test fixes
2008-12-14 22:38:14 -06:00
Slava Pestov
dccbb84629
Updating unit tests for I/O re-organization
2008-12-14 21:21:44 -06:00
Slava Pestov
50e214c152
io.files split up and general refactoring work in progress
2008-12-14 20:03:00 -06:00
Slava Pestov
a91dee7810
Fix for native I/O backends that create callbacks in deployed apps; this affected tools.deploy.test[35] ever since run-loop multiplexer landed on OS X
2008-12-12 19:48:17 -06:00
Slava Pestov
38046364ac
Fix memory test on OpenBSD
2008-12-12 01:00:32 -06:00
Slava Pestov
da94d8afae
Working on new UI
2008-12-11 16:47:38 -06:00
Slava Pestov
e6145c71c0
Change a -rot usage to 2dip
2008-12-10 17:26:54 -06:00
Slava Pestov
2a3db4cd23
Minor optimization to flip
2008-12-09 21:50:31 -06:00
Slava Pestov
7ad6d34212
Fix byte-arrays tests
2008-12-09 21:07:28 -06:00
Slava Pestov
ec23584f48
Finish up O(1) byte array allocation
2008-12-09 18:17:04 -06:00
Slava Pestov
d9231f3bc5
Remove unsafe string allocation, since its of dubious value
2008-12-09 17:53:00 -06:00
Slava Pestov
eb79c6ab71
Fix conflict
2008-12-09 17:52:45 -06:00
Slava Pestov
a90118da5d
Add inc-at word to core, and update some usages of at+ to use it instead
2008-12-09 16:54:48 -06:00
Slava Pestov
b5e8b14722
Add unit test for GC problem
2008-12-09 16:45:02 -06:00
Slava Pestov
ea4feee886
Fix typo
2008-12-09 15:10:51 -06:00
John Benediktsson
6745e0dad9
Fix error in the docs for assoc-map.
2008-12-09 12:35:59 -08:00
Slava Pestov
ccab34e7c4
Fix restart behavior with circular vocabs, and add a test for this
2008-12-09 04:50:33 -06:00
Slava Pestov
7c1c97470f
tuple-class-unchanged? was bogusly returning f during bootstrap for classes without a superclass
2008-12-08 23:52:46 -06:00
Slava Pestov
b154b21aaa
Add new until combinator, and a new do word which acts like a modifier: do while, do until for loops which iterate at least once
2008-12-08 23:37:18 -06:00
Slava Pestov
a0e7663afb
Remove eval dependency from unicode.syntax
2008-12-08 19:46:40 -06:00
Slava Pestov
7940020491
Untangling more dependencies
2008-12-08 16:02:31 -06:00
Slava Pestov
4f0a9f311e
Untangling some dependencies
2008-12-08 14:58:00 -06:00
Slava Pestov
73b3cd6367
Use eq? instead of number= since we only ever have a fixnum here
2008-12-08 13:59:59 -06:00
Slava Pestov
ca8091443c
Move byte-vectors and io.streams.byte-array to basis
2008-12-08 13:59:25 -06:00
Slava Pestov
e4f8448eb1
Fix some problems with arithmetic type inference, exposed by recent changes to log2 word
...
- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless
2008-12-07 19:44:49 -06:00
Slava Pestov
3469d50b91
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-07 08:51:40 -06:00
Slava Pestov
d1744fd67a
Remove cache-nth word, nobody was using it and the semantics were broken
2008-12-07 08:51:22 -06:00
Doug Coleman
29d5278569
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-06 19:01:35 -06:00
Doug Coleman
37b9a350cc
swap ... 3append -> surround in core
2008-12-06 18:42:41 -06:00
Slava Pestov
0290be6e93
Exploit the fast-path for allocation of array with initial element 0 by changing
...
new-sequence on arrays, the vector constructor, and resize-array, called when
growing vectors, to fill arrays with 0 instead of f. user code never observes the
initial value in these situations anyway. small speedup on bootstrap
2008-12-06 18:37:28 -06:00
Slava Pestov
bac338663d
Mark a word inline
2008-12-06 15:31:35 -06:00
Slava Pestov
8a8f0c925c
Use BSR instruction to implement fixnum-log2 intrinsic
2008-12-06 15:31:17 -06:00
Slava Pestov
145b635eb6
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
...
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov
a56d480aa6
Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
...
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Doug Coleman
2e31f7d792
fix help-lint errors
2008-12-05 12:57:36 -06:00
Doug Coleman
3293dde7a2
remove unit test
2008-12-05 12:53:23 -06:00
Slava Pestov
aa838dbc2d
Fix compile errors
2008-12-05 09:04:16 -06:00
Slava Pestov
8db24bdd34
assert-depth now has a static stack effect. This fixes a UI unit test failure
2008-12-05 08:25:26 -06:00
Slava Pestov
908644ee7a
O(1) <sbuf> and new-sequence on byte-arrays (work in progress)
2008-12-05 07:28:52 -06:00
Slava Pestov
e256846acd
Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement
2008-12-05 06:38:51 -06:00
Slava Pestov
252b1eb513
Faster conversion of sbufs, vectors and byte-vectors to their corresponding fixed-size type respectively; we call the resize-T primitive on the underlying sequence instead of >T
2008-12-05 06:37:19 -06:00
Slava Pestov
fa146b248a
Remove obsolete info; 1+ and 1- are identical to 1 + and 1 - in reality
2008-12-05 02:11:50 -06:00
Slava Pestov
e304d3c9f8
Local DCE
2008-12-04 06:02:49 -06:00
Slava Pestov
993d8de372
Merge branch 'master' of git://projects.elasticdog.com/git/factor
2008-12-04 00:28:29 -06:00
Slava Pestov
1247ebbac9
Fix typo
2008-12-04 00:28:16 -06:00
Aaron Schaefer
13781ee48c
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-04 00:42:34 -05:00
Aaron Schaefer
ca73c06194
Fix documentation example for floats
2008-12-04 00:36:11 -05:00
Doug Coleman
0e14f767ee
core: swap 3append -> glue
2008-12-03 19:12:48 -06:00
Aaron Schaefer
e6b585c376
Fix example in spread combinator article
2008-12-03 13:26:31 -05:00
Doug Coleman
06388da30d
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-03 10:03:37 -06:00
Slava Pestov
8e69362512
Better error message for INSTANCE: if second arg is not a mixin
2008-12-03 09:33:32 -06:00
Doug Coleman
c4a06d4a60
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-03 08:34:59 -06:00
Doug Coleman
fd270d8ef2
add surround and glue to sequences
2008-12-03 08:32:54 -06:00
Doug Coleman
a329960d7e
move retry word to continuations
2008-12-03 08:32:12 -06:00
Slava Pestov
c49cbe5d9c
Fix typo in the docs
2008-12-03 04:07:36 -06:00
Slava Pestov
0ba5304ee3
Fix assocs, generic.standard tests
2008-12-03 03:44:08 -06:00
Slava Pestov
350e697615
Merge branch 'master' into specialized-arrays
2008-12-02 20:07:14 -06:00
Slava Pestov
2b23e3c4d8
Merge branch 'master' of git://factorcode.org/git/factor
2008-12-02 19:43:11 -06:00
Slava Pestov
5a57fe8953
with-stream was disposing streams in the wrong order
2008-12-02 19:43:07 -06:00
sheeple
1777dde283
add file-systems unit test
2008-12-02 16:03:01 -06:00
Slava Pestov
e559a101e8
Merge branch 'master' into specialized-arrays
2008-12-02 02:46:26 -06:00
Slava Pestov
c27faa3de4
Remove 3compose: nothing in core used it, and basis code can use fry
2008-12-02 00:25:23 -06:00
Slava Pestov
722989d895
Merge branch 'master' of git://factorcode.org/git/factor into specialized-arrays
2008-12-01 21:55:32 -06:00
Doug Coleman
7553b816f8
add another slot to file-system-info -- available-space, which is what the user can actually use, not what's free on disk
2008-12-01 21:20:33 -06:00
Slava Pestov
f51708386d
Fix conflicts
2008-12-01 20:39:43 -06:00
Slava Pestov
9e4dfda8cd
Fix help lint
2008-12-01 18:08:48 -06:00
Slava Pestov
87656b19e3
FACTOR_ROOTS env var
2008-12-01 17:19:47 -06:00
Slava Pestov
973e3faa00
Documentation updates
2008-12-01 17:00:35 -06:00
Slava Pestov
1a3f148c2c
Add each-line combinator
2008-12-01 16:43:18 -06:00