Commit graph

66 commits

Author SHA1 Message Date
Nathan Marz
3ba0926251 refactor codebase to use reified navigator objects instead of individual functions, force all navigators to be defined using defnav, add ImplicitNav protocol 2016-08-04 11:28:47 -04:00
Nathan Marz
b7191b11c2 update docs and changelog 2016-06-23 12:40:39 -04:00
Nathan Marz
b060339573 major optimization to multi-path by removing sequence operations at runtime 2016-06-23 12:35:47 -04:00
Nathan Marz
18680437aa optimize terminal-val with fast-constantly 2016-06-22 21:18:38 -04:00
Nathan Marz
898d7489a6 add terminal-val 2016-06-22 21:17:14 -04:00
Nathan Marz
2f5d601ccf implemented multi-transform and terminal 2016-06-22 21:17:13 -04:00
Nathan Marz
66f555ab73 fix multi-path + val collection and minor problem in if-path 2016-06-16 09:42:24 -04:00
Nathan Marz
36f0e63d56 added richnav and fixed if-path with value collection 2016-06-16 09:09:29 -04:00
Nathan Marz
66d1ce65f3 Merge branch 'master' into traverse 2016-06-13 13:51:03 -04:00
Nathan Marz
3dc7ad25ff added collected? and DISPENSE navigators 2016-06-10 07:57:18 -04:00
Nathan Marz
f605167a53 implement traverse 2016-06-09 23:19:11 -04:00
Nathan Marz
9045e13386 merge 2016-06-08 13:58:15 -04:00
Alex Engelberg
fbb7a17197 Add META navigator, test case, and benchmarks 2016-06-08 08:18:10 -07:00
Nathan Marz
0f475ddba3 merge in optimizations to END 2016-06-07 16:11:21 -04:00
Nathan Marz
5161f6dfbf optimize END for vectors 2016-06-07 16:07:01 -04:00
Nathan Marz
e698f5f06b bump version, optimized multi-path select, lots of select-any tests 2016-06-07 12:35:59 -04:00
Nathan Marz
205b6a1319 fix MAP-VALS 2016-06-07 10:51:08 -04:00
Nathan Marz
6580f4df4b added selected-any? helper operation 2016-06-07 10:47:18 -04:00
Nathan Marz
81ec559e69 docstring for MAP-VALS 2016-06-07 10:31:07 -04:00
Nathan Marz
e76363c532 more docstrings and benchmarks 2016-06-07 10:18:20 -04:00
Nathan Marz
88a79e3d77 add docstrings for new API elements 2016-06-07 09:40:14 -04:00
Nathan Marz
f3bf935509 new semantics for select* for increased performance, new select-any operation with maximal query performance, needs more tests 2016-06-06 20:29:45 -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
ff903cd236 optimize selected? and not-selected? 2016-06-04 22:57:56 -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
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
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
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
1c21be2262 minor performance optimizations to FIRST/LAST 2016-06-01 12:02:41 -04:00
Nathan Marz
e2e8fa091e Added continuous-subseqs navigator 2016-05-28 13:57:30 -04:00
Nathan Marz
b2cb9f1940 add doc for must-cache-paths 2016-05-24 08:42:23 -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
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
1d77d295fa minor refactoring of ATOM and update changelog 2016-05-08 15:55:45 -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
a9aafc3eb8 clean up terminology usage by replacing selector with navigator or path as appropriate 2016-04-21 10:59:35 -04:00
Nathan Marz
82f591a5d3 redefine filterer in terms of subselect 2016-04-20 22:09:02 -04:00
Nathan Marz
7a29e3f056 Merge pull request #75 from aengelberg/add-select-view
Add new "subselect" path selector
2016-04-20 21:57:51 -04:00
Beau Fabry
eb20e86f9c Address PR comments
* Behave the same as select-keys for non-existent keys
 * Remove variadic input redirection
 * Use reduce to remove data instead of apply
2016-04-19 17:35:34 -07:00
Beau Fabry
b3c707092e add a submap path 2016-04-19 15:15:06 -07:00
Alex Engelberg
c7252a2b90 Changed name from 'select-view' to 'subselect' 2016-04-19 12:04:18 -07:00