Commit Graph

1904 Commits (7f8e890f1f05458f8357e218158cea01d7f4a075)

Author SHA1 Message Date
Slava Pestov c41161277d Add assoc-partition combinator, and re-implement assoc-filter in a more straightforward fashion 2009-01-26 23:19:49 -06:00
Doug Coleman d74db52204 fix example in docs 2009-01-26 15:05:45 -06:00
Doug Coleman f17c8b72ee Merge branch 'master' of git://repo.or.cz/factor/jcg 2009-01-26 09:36:30 -06:00
Slava Pestov daf490e4dd Update strings docs to mention Unicode 2009-01-25 23:04:44 -06:00
Slava Pestov c074740746 Split off data_heap.c from data_gc.c; split off write_barrier.h, local_roots.h from data_gc.h, misc other cleanups 2009-01-24 23:39:00 -06:00
Slava Pestov 60f36cd9c8 Update user-space code for modify-code-heap primitive change 2009-01-24 20:17:11 -06:00
Slava Pestov f34c14a0f5 Remove some usages of tuck 2009-01-23 18:20:47 -06:00
Slava Pestov a8d1459c08 Rename compiled slot of words to optimized, to reflect what it really means (all words are compiled) 2009-01-23 00:37:02 -06:00
Slava Pestov 3adaa7a18e Add unit tests for non-optimizing compiler regression found by doublec 2009-01-22 21:22:28 -06:00
Slava Pestov c7c37f5f5c Update I/O docs to talk about elements instead of characters, and add each-block combinator which generalizes contents just like each-line generalizes lines 2009-01-22 19:08:20 -06:00
Slava Pestov 2dc0757850 Cleanups 2009-01-21 19:55:47 -06:00
Slava Pestov 1c6df27d3c Minor documentation fixes 2009-01-21 00:45:23 -06:00
Slava Pestov 4b4d93dddd Move at-default from unicode.case to assocs, move 2cache from classes.algebra to assocs, clean up some code to no longer use -rot, rot, pick 2009-01-20 15:27:14 -06:00
Doug Coleman 66f5694462 document more core/ words 2009-01-17 22:15:57 -06:00
Slava Pestov ca2f01e0d0 Updating non-core libraries for monotonic? change 2009-01-16 17:02:54 -06:00
Slava Pestov 7eb831d349 Fix various documentation errors 2009-01-16 13:30:43 -06:00
Slava Pestov 94292d1791 Move monotonic? unit tests to grouping 2009-01-15 15:37:30 -06:00
Slava Pestov 1f0c01183e Re-implement monotonic? without using rot 2009-01-15 15:24:46 -06:00
Slava Pestov 2612b3c087 Fix typo in each-line docs 2009-01-15 13:02:45 -06:00
Slava Pestov 1f29e128c1 io.styles refactoring introduced a load error in io.streams.null; fix that, add docs, and remove unused with-null-stream 2009-01-13 19:25:44 -06:00
Slava Pestov 4204fd495f Move formatted stream output words to io.styles; they didn't belong in core, and this reduces deployed image size 2009-01-13 17:12:43 -06:00
Slava Pestov daf86c693e Fix help-lint for sets vocab 2009-01-12 14:32:14 -06:00
Slava Pestov e6aa33ac12 Add new intersects? word and use it in a few places instead of intersect empty? 2009-01-12 01:51:38 -06:00
Slava Pestov 296a6d1d3c Merge branch 'master' of git://factorcode.org/git/factor 2009-01-10 18:14:36 -06:00
Slava Pestov da20ea83af Minor parser docs fix 2009-01-10 18:13:16 -06:00
Doug Coleman f4cffe8a1b move iota to sequences, fix example, add unit tests, make iota's slot integers only 2009-01-10 13:05:25 -06:00
Slava Pestov 6959f445c4 Merge branch 'master' of git://factorcode.org/git/factor 2009-01-09 22:26:49 -06:00
Slava Pestov a977691d82 Add iota virtual sequence which will eventually replace integers-as-sequences 2009-01-09 21:35:49 -06:00
Doug Coleman 5ae9c7fe2f document 3each, 3map, 3map-as 2009-01-09 20:35:01 -06:00
Doug Coleman f3c7a87065 clarify how sort works 2009-01-09 19:12:49 -06:00
Doug Coleman e20145dbad Merge branch 'master' of git://factorcode.org/git/factor 2009-01-08 17:02:24 -06:00
Doug Coleman 076b2d0893 add >=< word to math.order 2009-01-08 16:06:01 -06:00
Slava Pestov c47f14afcd Add link 2009-01-07 21:20:05 -06:00
Slava Pestov af49278d3f Add 2tri* and 2tri@ combinators, clean up (3each), and fix failing unit test for 3map 2009-01-05 18:12:34 -06:00
Slava Pestov 7b110b0bfd Move 3each, 3map from compiler.utilities to sequences 2009-01-05 17:32:08 -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
Joe Groff 9705778f4b Merge branch 'master' of git://factorcode.org/git/factor 2008-12-24 12:51:21 -08:00
Slava Pestov 058ba127cb Cleaning up more -rot usages 2008-12-22 05:41:01 -06:00
unknown 99c6a9f31d Fix kernel unit tests on Win64 2008-12-21 18:52:13 -06:00
Slava Pestov 19a8a9ac9b Minor documentation updates 2008-12-21 14:29:12 -06:00
Joe Groff 3a38cb5a8c Typo in INSTANCE: doc 2008-12-18 14:02:35 -08: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 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 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
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