Commit graph

168 commits

Author SHA1 Message Date
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
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
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
f5c5284ae1 add docstrings to zippers 2016-04-25 17:47:10 -04:00
Nathan Marz
48ad46d5e5 add zipper/PREV 2016-04-24 16:54:07 -04:00
Nathan Marz
9a3a19bb9b add NODE-SEQ, find-first, and NEXT-WALK 2016-04-24 16:49:45 -04:00
Nathan Marz
96d5e94a5b fix zipper navigation to stop navigating when right/left/up/down/next navigate nowhere 2016-04-24 13:03:29 -04:00
Nathan Marz
a4e1f1267b zippers working in cljs 2016-04-24 11:10:55 -04:00
Nathan Marz
70523ac38f add zipper tests 2016-04-24 11:03:52 -04:00
Nathan Marz
747b080909 added INNER-RIGHT and INNER-LEFT 2016-04-24 10:42:19 -04:00
Nathan Marz
b68d59ca90 Merge branch 'zipper' 2016-04-23 13:30:15 -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
Alex Engelberg
d797e1aec1 Add warning to docstring about input navigator requirement 2016-04-19 12:03:21 -07:00
Alex Engelberg
4c8aeebafc Switch from atom to mutable-cell 2016-04-19 11:55:32 -07:00
Alex Engelberg
96f6bbc9f4 Add select-view path selector + test case 2016-04-19 00:47:56 -07:00
Nathan Marz
c861756836 Merge pull request #73 from thomasathorne/biview
Add `parser` path.
2016-04-18 14:20:19 -04:00
Thomas Athorne
1ddd8c22f6 Clearer names for arguments that are functions. 2016-04-18 16:21:33 +00:00
Nathan Marz
0134656d0a minor code cleanup 2016-04-18 12:18:47 -04:00
Nathan Marz
f048d23cda Merge pull request #63 from StephenRudolph/master
Add idempotency for PersistentQueue collection type
2016-04-18 12:09:59 -04:00
Nathan Marz
c962971d7a fix for bootstrap cljs compatibility 2016-04-17 21:00:58 -04:00
Nathan Marz
703e25e1fe use->require in macros.clj for bootstrap cljs compatibility 2016-04-17 16:26:54 -07:00
Thomas Athorne
60bf33ffab Change name; add a test spec. 2016-04-17 16:04:22 +01:00
Thomas Athorne
c34e900427 Add biview path. 2016-04-16 17:16:23 +01:00
Stephen Rudolph
ddea0a223d Moving CLJS code to use transformers instead of reducers 2016-02-26 17:10:09 -06:00