Commit graph

355 commits

Author SHA1 Message Date
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
2aff955a99 update changelog 2016-05-31 23:05:53 -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
a583540f21 update readme 2016-05-31 11:11:03 -04:00
Nathan Marz
ad3baacf5f 0.11.0 2016-05-31 09:47:54 -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
009a9c93f6 fix formatting 2016-05-26 16:54:55 -04:00
Nathan Marz
197dcb07ec fix testing instructions for cljs 2016-05-26 09:40:33 -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
799c6578b8 update changelog 2016-05-24 16:08:36 -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
33f8ed3e73 update changelog 2016-05-23 15:33:15 -04:00
Nathan Marz
29fc629899 update changelog 2016-05-23 15:30:26 -04:00
Nathan Marz
8dd0f7e168 finish test for inline caching 2016-05-23 15:17:47 -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
Nathan Marz
ac8119dbbe inline caching for cljs working in repl tests, tests not working for cljs yet 2016-05-23 09:23:14 -04:00
Nathan Marz
d30af6e972 cljs inline caching impl almost working 2016-05-23 08:18:49 -04:00
Nathan Marz
2071059695 revert back to using concurrenthashmap - the performance benefit is not worth the potential startup time problems with >5000 callsites 2016-05-22 09:52:37 -04:00
Nathan Marz
50b02c17f0 add case to automatically factor string for cached path if it is extended as a navigator 2016-05-22 09:25:33 -04:00
Nathan Marz
fcb5e013d4 fixed inline precompilation of inline sets in paths, fix bug leading to wrong params order during inline precompilation, change select/transform operations to be macros and move code around accordingly, rename previous versions of select/transform functions with * added 2016-05-22 08:57:53 -04:00
Nathan Marz
cdcdbbbaa4 clean up terminology – defpath -> defnav, path -> nav, fixed-pathed-path -> fixed-pathed-nav, variable-pathed-path -> variable-pathed-nav, StructurePath -> Navigator (breaking changes) 2016-05-21 15:54:07 -04:00
Nathan Marz
c567045fb5 better conditional checking of cached value 2016-05-21 10:08:50 -04:00
Nathan Marz
c2fa922717 automatically factor anonymous functions with pred, 20% more effient cache strategy, more efficient hot path, added ability with must-cache-paths to error when a path can't be cached and get detailed information why 2016-05-21 09:44:20 -04:00
Nathan Marz
d3a462aa06 initial impl working for basic use cases 2016-05-20 16:57:53 -04:00
Nathan Marz
ac5efb2eb9 add link to clojurians #specter channel 2016-05-17 11:27:52 -04:00
Nathan Marz
1d77d295fa minor refactoring of ATOM and update changelog 2016-05-08 15:55:45 -04:00
Nathan Marz
4a5f0b79b8 Merge pull request #87 from rakeshp/master
Added path to navigate to atom value
2016-05-08 15:52:21 -04:00
Rakesh
c280b40b12 renamed atompath to ATOM 2016-05-08 23:39:14 +05:30
Rakesh
7b33c93132 Added path to navigate to atom value 2016-05-07 22:40:21 +05:30
Nathan Marz
03f6a12baa fix must select 2016-05-05 14:59:25 -04:00
Nathan Marz
3602a08e5d docstring for view 2016-05-05 14:29:20 -04:00
Nathan Marz
b4b2200377 added must navigator 2016-05-05 14:24:57 -04:00
Nathan Marz
9d2a5ed46f 0.10.0 2016-04-26 10:21:54 -04:00
Nathan Marz
f5c5284ae1 add docstrings to zippers 2016-04-25 17:47:10 -04:00