Commit Graph

76 Commits (1524d43c9cedf47756c34e6be65d150c32c49fbb)

Author SHA1 Message Date
John Benediktsson ebd7ab088d assocs: 2cache can be a bit more unsafe. 2012-09-23 17:40:25 -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 9d5530f3e4 assocs: inline assoc-empty? and make M\ enum at* not check bounds twice. 2012-07-20 09:04:51 -07:00
John Benediktsson f0698ee97f assocs: faster map>assoc. 2012-07-17 15:28:44 -07:00
John Benediktsson 664908c78f assocs: 50% faster zip. 2012-04-25 20:09:21 -07:00
Doug Coleman 3ba787b277 core/basis: trim down using lists 2011-11-30 23:15:42 -08:00
John Benediktsson 00280a52a4 assocs: 5-8% performance improvement to assoc>map. Fixes #69. 2011-11-12 17:02:33 -08:00
John Benediktsson 6c2c5c0a82 assocs: use assoc-size to short-circuit equality checks. 2011-01-05 17:28:06 -08:00
Joe Groff b4867f4a1c assocs: add effect declarations to assoc combinators 2010-04-14 15:08:32 -07:00
Joe Groff 191ac353fd generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
Joe Groff 98c9b79881 assocs: use collector-for in assoc>map to create a temporary vector appropriate for the exemplar 2010-02-06 23:59:34 -08:00
Slava Pestov 11be5a4bd5 Rename update to assoc-union!, add assoc-filter! assoc-diff! words 2010-02-04 02:55:00 +13:00
Doug Coleman 8c1d202b4c Rename accumulator to collector, pusher to selector 2010-01-22 15:00:53 -06:00
Slava Pestov df4fb4a3ee Removing integers-as-sequences 2010-01-15 07:15:33 +13:00
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Joe Groff 9624b0c5c3 add inlinable assoc methods on f 2009-10-30 15:22:14 -05:00
Slava Pestov 299b5b0f6c filter-here -> filter! 2009-10-28 00:44:05 -05:00
Slava Pestov b7e05a525b remove unused and really confusing remove-all word 2009-10-27 23:45:03 -05:00
Slava Pestov 951e3e9c83 delete-nth -> remove-nth! 2009-10-27 23:41:57 -05:00
Slava Pestov 08e7d25dc5 change-each -> map!, deep-change-each -> deep-map! 2009-10-27 22:32:56 -05:00
Slava Pestov 030b1b816c Add inline declarations for various assorted methods 2009-08-17 22:32:21 -05:00
Slava Pestov 42230b21a3 Add assoc-refine, which takes the intersection of a sequence of assocs 2009-07-22 02:06:14 -05:00
Slava Pestov 9e987e8642 Merge branch 'master' into global_optimization 2009-06-01 03:12:32 -05:00
Slava Pestov eda44f28a6 Move maybe-set-at to assocs 2009-05-26 18:45:37 -05:00
Doug Coleman 5a3a14d1c9 remove at-default. it was hardly used and it's just '?at drop' 2009-05-24 21:46:59 -05:00
Doug Coleman 0ad6d1fb7b add a few usages of iota, remove most 1+ and 1- from core 2009-05-01 19:58:24 -05:00
Slava Pestov 07cb959df4 Clean up ?at 2009-03-09 17:47:50 -05:00
Daniel Ehrenberg e1806663d2 Merge branch 'master' into regexp 2009-03-05 16:44:35 -06:00
Daniel Ehrenberg e54727f9bf Merge branch 'master' of git://factorcode.org/git/factor into regexp 2009-02-23 13:10:54 -06:00
Slava Pestov 91d0c4ed1f Fix conflict 2009-02-22 20:02:13 -06:00
Doug Coleman ff44ef224d add ?at, tests, documentation 2009-02-22 17:13:18 -06:00
Daniel Ehrenberg 478c1d2928 Assocs stack effect fix 2009-02-19 16:50:55 -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
Doug Coleman 3c408342ef renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail 2009-01-29 22:19:07 -06:00
Slava Pestov 2ed993ef58 Clean up assocs to not use swapd 2009-01-27 04:12:16 -06:00
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
Slava Pestov f34c14a0f5 Remove some usages of tuck 2009-01-23 18:20:47 -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
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 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 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 52c5b53e27 Refactoring usages of >r, r>, -rot, rot 2008-11-30 22:21:37 -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 2fe561ffca Add assoc-filter-as 2008-11-23 01:01:15 -06:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Doug Coleman 853da3a116 document all assoc words 2008-09-05 15:52:13 -05:00
Slava Pestov 0c304b8fc6 Removing old accessor usages from core and basis 2008-08-31 07:45:33 -05:00
Slava Pestov f5fbd94a4c New compiled crossref implementation 2008-08-31 01:34:00 -05:00
Slava Pestov 85cdb1b767 Working on new compiled usage strategy; old one was wrong 2008-08-30 00:05:27 -05:00