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