Commit graph

209 commits

Author SHA1 Message Date
Nathan Marz
205b6a1319 fix MAP-VALS 2016-06-07 10:51:08 -04:00
Nathan Marz
81ec559e69 docstring for MAP-VALS 2016-06-07 10:31:07 -04:00
Nathan Marz
ae98aa48ba add specialized MAP-VALS navigator to circumvent the unavoidable overhead of [ALL LAST] 2016-06-06 16:03:08 -04:00
Nathan Marz
571ba316da Fix #109 2016-06-06 07:48:30 -04:00
Nathan Marz
c81ba0196f eliminate warning about intern for bootstrap cljs 2016-06-06 07:38:21 -04:00
Nathan Marz
ff903cd236 optimize selected? and not-selected? 2016-06-04 22:57:56 -04:00
Nathan Marz
f82ab31b36 expand optimized if-path to encompass any sequence of static functions 2016-06-04 21:22:57 -04:00
Nathan Marz
2d3902f478 huge speedup to if-path when condition is a single statically known function, big optimization for all transforms that don't use value collection by using identical? instead of empty? 2016-06-04 20:49:57 -04:00
Nathan Marz
94d5d2021a add nil case for all-transform 2016-06-04 17:22:27 -04:00
Nathan Marz
a4857a9d57 Fix #96 2016-06-04 17:19:39 -04:00
Nathan Marz
86f05b3cbe major performnace enhancements for ALL on vectors (2x) and maps (10% for arraymas, 25% for hashmaps) 2016-06-04 17:12:40 -04:00
Nathan Marz
0bc26c950e implement cond-path in terms of if-path to avoid all runtime sequence operations 2016-06-04 16:40:34 -04:00
Nathan Marz
ff2853381c huge speedup to if-path by having specialized implementation separate from cond-path 2016-06-04 15:01:28 -04:00
Nathan Marz
59423c358e huge speedup for cond-path 2016-06-04 14:51:26 -04:00
Nathan Marz
b6e1f5f20f defprotocolpath docstring 2016-06-04 14:30:38 -04:00
Nathan Marz
57a2e967d4 defpathedfn docstring 2016-06-04 14:23:09 -04:00
Nathan Marz
58865ee10d fill in missing docstrings 2016-06-04 09:40:41 -04:00
Nathan Marz
d9443232d8 add docstrings to the core select/transform/etc. macros 2016-06-04 09:29:45 -04:00
Nathan Marz
e1138747d9 fix #103 2016-06-03 16:25:27 -04:00
Nathan Marz
d85f21722b set up to generate html api docs 2016-06-02 11:59:19 -04:00
Nathan Marz
52740d56ac add :notpath metadata for pathedfn args that should not be interpreted as paths during inline factoring/caching, fixed transformed to operate appropriately in inline factoring when transform-fn is anonymous or local, drop support for cljs below v1.7.10 2016-06-02 02:42:18 -04:00
Nathan Marz
8a0ba0b3b0 eliminate last cljs compiler warning 2016-06-02 01:15:35 -04:00
Nathan Marz
c1d9dff75e eliminate most of cljs warnings except for one 2016-06-01 20:54:04 -04:00
Nathan Marz
187299b3d9 make non 1 or 2 count case update-last faster for vectors, change updateextremes to be specific to persistentvector 2016-06-01 12:54:59 -04:00
Nathan Marz
2fe16769ff use nth instead of get for retrieving first element of vector 2016-06-01 12:42:41 -04:00
Nathan Marz
39a3755b49 implement optimized extremes protocols and fastempty for IPersistentVector rather than PersistentVector 2016-06-01 12:33:10 -04:00
Nathan Marz
edfcc92a85 big optimization for LAST for small vectors (e.g. those used for mapentries) 2016-06-01 12:27:02 -04:00
Nathan Marz
1c21be2262 minor performance optimizations to FIRST/LAST 2016-06-01 12:02:41 -04:00
Nathan Marz
6b7d18d874 use reduce-kv to optimize ALL transform on maps, significant performance boost 2016-06-01 11:08:49 -04:00
Nathan Marz
fbca7ab99c stop using ConcurrentHashMap for inline cache, instead intern a new var at macro-time. 17% performance improvement for [:a :b :c] benchmark 2016-05-31 23:04:24 -04:00
Nathan Marz
cb3b33f63b another bootstrap compatibility change (from @mfikes) 2016-05-29 10:15:03 -04:00
Nathan Marz
d162c2b49f advise cljs compiler not to warn about undeclared var instead of the hack that was being used before 2016-05-29 09:06:51 -04:00
Nathan Marz
637f7fc819 code cleanup 2016-05-29 00:34:51 -04:00
Nathan Marz
f49f371eea eliminate undeclared var warning from cljs inline caching code 2016-05-28 21:06:43 -04:00
Nathan Marz
2c52355f8d remove todo 2016-05-28 20:01:35 -04:00
Nathan Marz
e5db7252c3 use local def for cljs inline cache. faster and enables bootstrap compatibility 2016-05-28 20:01:10 -04:00
Nathan Marz
bb5fcbe7b3 bootstrap compatibility changes 2016-05-28 19:00:58 -04:00
Nathan Marz
e2e8fa091e Added continuous-subseqs navigator 2016-05-28 13:57:30 -04:00
Nathan Marz
22f0b7e5e1 minor inline caching failure string improvements 2016-05-25 00:13:46 -04:00
Nathan Marz
b927d8e241 major optimization for use case of passing an already compiled path to inline caching specter operations 2016-05-24 17:39:08 -04:00
Nathan Marz
73e460df80 optimization for using comp-paths on already compiled path 2016-05-24 17:29:34 -04:00
Nathan Marz
b8bcfd6054 change how macroexpansion is done during inline caching so that nested &env are correctly computed. Allows for inline caching to occur nested inside an inline caching expression 2016-05-24 17:01:17 -04:00
Nathan Marz
d7db4190dd fix nav constructors for cljs 2016-05-24 16:06:32 -04:00
Nathan Marz
e70cfb3623 added nav constructors + tests, fixed bug with clj platform eval'd params fn to bind to the namesapace where the path was defined 2016-05-24 16:00:22 -04:00
Nathan Marz
cd7b759c3a added nav constructors with integration into automatic inline factoring + caching 2016-05-24 13:49:41 -04:00
Nathan Marz
b2cb9f1940 add doc for must-cache-paths 2016-05-24 08:42:23 -04:00
Nathan Marz
4f3990c239 added tests and cljs-specific fixes 2016-05-23 14:58:22 -04:00
Nathan Marz
218cbcb933 use mutable cell for must-cache-paths state for cljs compatibility 2016-05-23 10:36:52 -04:00
Nathan Marz
1e0a43c903 all tests passing for both clj and cljs 2016-05-23 10:21:43 -04:00
Nathan Marz
b156727f3c fix inline handle params for cljs, most tests passing 2016-05-23 10:01:44 -04:00