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
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
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