Commit Graph

53 Commits (cbdd559a759b5aef9b1c97d8b69a29e159d14ae1)

Author SHA1 Message Date
Doug Coleman 9f213f96f6 core: Add the shuffler words but without primitives.
The nipd branch slowed bootstrap by a minute, this patch does not.

sorry about changing the fjsc line endings...
2018-06-19 22:52:58 -05:00
John Benediktsson de48558d12 sets: adding ?delete that returns a boolean if elt was deleted from set. 2017-02-07 13:31:07 -08:00
John Benediktsson 8f6ac5d457 Revert "hash-sets,hashtables: make it so the array backing the hash is non-empty"
This reverts commit 6f10f06c27.
2016-10-06 11:18:41 -07:00
John Benediktsson db46b16d10 Revert "hash-sets,hashtables: improved key@ word"
This reverts commit 70c7f9e029.
2016-10-06 11:18:35 -07:00
Björn Lindqvist 6f10f06c27 hash-sets,hashtables: make it so the array backing the hash is non-empty
Commit 70c7f9e029 made it so the code
assumes the array is not empty. But it can be empty if the hashtable is
created using "hashtable new" and then it can crash because it reads
uninitialized memory. Setting the initial of the array slot to
a valid hash-array should fix that.
2016-10-05 19:19:39 +02:00
Björn Lindqvist 70c7f9e029 hash-sets,hashtables: improved key@ word
Don't need to check the length of the backing array because it can be
assumed to be > 0. That should make hash lookups a little faster.
2016-09-25 20:07:08 +02:00
Björn Lindqvist 91f335b424 style thing: indenting tuple slots 2016-05-31 03:37:23 +02:00
John Benediktsson e7a42b1dc4 sets: rename unordered-set back to set. 2016-03-29 15:46:29 -07:00
Doug Coleman 92afdc3ad0 hashtables: rename ((tombstone)) to +tombstone+, ((empty)) to +empty+ 2016-03-25 03:13:27 -07:00
Doug Coleman 28dcd0667a factor: rename set to unordered-set. 2015-08-12 10:54:19 -05:00
John Benediktsson 1a48f1d229 hash-sets: make sure capacity and growth use same load factor. 2015-07-14 18:35:14 -07:00
John Benediktsson e1e8383322 hash-sets: need to define M\ hash-set hashcode*. 2015-07-09 08:35:43 -07:00
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
John Benediktsson aeed8b51d4 hash-sets: faster members. 2014-02-06 22:38:48 -08:00
John Benediktsson 8c07160aa9 hash-sets: simplify <hash-set>. 2014-01-08 09:55:45 -08:00
John Benediktsson fef1b2fb00 hash-sets: use >= in hash-large?. 2014-01-05 23:09:07 -08:00
John Benediktsson 3d9b1f4adb hash-sets: inline >hash-set to speed up set operations. 2013-03-26 17:51:59 -07:00
John Benediktsson 1f13eefad2 hash-sets: slightly faster filter-members. 2013-03-26 17:42:41 -07:00
John Benediktsson daaf090459 hash-sets: faster intersect and diff, when both are hash-sets. 2013-03-26 17:42:40 -07:00
John Benediktsson ac8473e0ea hash-sets: faster subset? and set= when both are hash-sets. 2013-03-26 17:42:40 -07:00
John Benediktsson 200e37671f hash-sets: faster intersects?. 2013-03-26 17:42:40 -07:00
John Benediktsson 92c0faa918 hash-sets: simpler code. 2013-03-26 17:42:40 -07:00
John Benediktsson 5c1d5a049f hash-sets: implement faster ?adjoin. 2013-03-23 16:58:31 -07:00
John Benediktsson 544e5f81c5 hash-sets: speed up union on two hash-sets. 2013-03-23 14:17:10 -07:00
John Benediktsson 02156a0c0c Revert "hash-sets: faster M\ hash-set union."
This reverts commit bb7a1017f5.
2013-03-22 22:05:06 -07:00
John Benediktsson 83408fedcd hash-sets: faster M\ hash-set union. 2013-03-22 21:52:56 -07:00
John Benediktsson 8890bdc19a hash-sets: faster grow-hash by not calling members. 2013-03-20 23:02:28 -07:00
John Benediktsson 734a987e24 hash-sets: use ?adjoin instead of (all-unique?). 2013-03-11 21:21:44 -07:00
John Benediktsson 7c39f8134b hash-sets: use push-unsafe from hashtables.private. 2013-03-10 17:08:41 -07:00
John Benediktsson 30bdecd876 hash-sets: back out this change for now. 2013-03-08 17:53:12 -08:00
Doug Coleman dc395a6b31 hash-sets: Support >alist on hash-sets or else tab-completion breaks. Can we write a unit test for this too? 2013-03-08 17:32:46 -08:00
John Benediktsson 931b5cc9bd hash-sets: fix help-lint warnings. 2013-03-08 06:15:27 -08:00
John Benediktsson 895c6ca7c5 bootstrap: make sure to rehash hash-sets also. 2013-03-07 22:04:52 -08:00
John Benediktsson 23078f7bd7 hash-sets: reuse (rehash). 2013-03-07 22:02:02 -08:00
John Benediktsson 04af5f2ffb hash-sets: faster implementation based on hashtables. 2013-03-07 21:43:17 -08:00
John Benediktsson f46bf3ac5d sets: adding clear-set. 2013-03-07 18:48:15 -08:00
John Benediktsson 5487480126 core: cleanup USING lists. 2013-03-05 10:34:47 -08:00
John Benediktsson d62fea3bbc sets: minor improvements to sequence-as-sets. 2012-08-24 16:37:01 -07:00
John Benediktsson 0f6972b98b hash-sets: using ?adjoin to implement duplicates, some tests. 2012-05-14 15:47:56 -07:00
John Benediktsson ca4d5cbde0 hash-sets: speed up diff, intersect, and union. 2012-04-16 10:58:08 -07:00
John Benediktsson beb5b9bf64 hash-sets: separate <hash-set> and >hash-set to match other containers. Fixes #154. 2011-10-19 11:35:25 -07:00
John Benediktsson 29f6011817 hash-sets: remove unused import. 2011-09-06 11:26:29 -07:00
John Benediktsson e8aa41ae57 hash-sets: simpler <hash-set>. 2011-09-03 16:38:42 -07:00
John Benediktsson f2aa8ec876 hash-sets: initialize hashtable capacity to length of sequence. 2011-09-03 14:46:26 -07:00
John Benediktsson 47faf5f6ae sets: adding cardinality word. 2010-12-27 19:22:36 -08:00
Daniel Ehrenberg 265fe6208f Adding null? word to test if a set is empty 2010-04-17 16:25:51 -05:00
Slava Pestov 3e91a7f280 sets: fix performance regression in all-unique? word 2010-04-13 04:43:47 -07:00
Daniel Ehrenberg 67912db5f1 Making <hash-set> faster 2010-03-17 20:12:25 -04:00
Daniel Ehrenberg 1da6ea957a Fixing bugs with sets, including adding new within and without words 2010-03-16 20:17:26 -04:00
Daniel Ehrenberg 7074979745 Moving new-sets to sets 2010-02-26 16:01:01 -05:00