Commit graph

229 commits

Author SHA1 Message Date
Nathan Marz
c80a2d3c50 fixes 2016-09-01 10:04:51 -04:00
Nathan Marz
eb5de0bdd5 lots of progress 2016-08-31 22:30:28 -04:00
Nathan Marz
f511cd4fca initial rewriting 2016-08-29 22:01:17 -04:00
Nathan Marz
a35cacae67 have defnav generate every method as a helper function as well (with name <name>-<method-name>, takes params as initial arguments followed by regular method arguments (except for 'this') 2016-08-17 09:42:59 -04:00
Nathan Marz
21f117503e allow non-dynamic vars to be treated as constants and add test for constant detection 2016-08-13 15:59:38 -04:00
Nathan Marz
1b5b19c7c8 fix accidental coercion to rich nav 2016-08-13 09:23:23 -04:00
Nathan Marz
ac3f604211 reformat code with parinfer 2016-08-11 10:13:27 -04:00
Nathan Marz
87137c633d minor refactoring of macros 2016-08-10 15:45:13 -04:00
Nathan Marz
9db244ebe5 always preserve persistentarraymap for ALL and MAP-VALS, also improve performance of those cases by almost 2x 2016-08-09 12:27:46 -04:00
Nathan Marz
9a35c0666d define pred using defnav so it uses lean navigation when possible 2016-08-08 10:16:32 -04:00
Nathan Marz
74f38d93a9 switch from cljx to cljc 2016-08-06 10:40:45 -04:00
Nathan Marz
c4f5a1b02b if set is constant make a static navigator for it 2016-08-06 02:23:11 -04:00
Nathan Marz
b9cd024c38 parameterize navigators immediately if all params are constant (rather than factor) 2016-08-06 00:44:40 -04:00
Nathan Marz
56da47aca5 generate a real higher order function from defnav and defcollector that returns a lean compiled path when invoked but coerces to equivalent paramsneededpath when composed, change nav constructors to recognize this and use a lean proxy for this case 2016-08-05 17:59:12 -04:00
Nathan Marz
7bfad80e00 fix for cljs 2016-08-05 16:34:58 -04:00
Nathan Marz
073dca1e98 add missing file 2016-08-05 16:21:49 -04:00
Nathan Marz
cbd3db5a75 all tests passing 2016-08-05 16:18:10 -04:00
Nathan Marz
e7db1803b1 fixes 2016-08-05 15:48:55 -04:00
Nathan Marz
e7dc940cd0 completely re-implement nav, collector, fixed-pathed-nav, and pathed-collector in cleaner and more flexible way 2016-08-05 14:10:38 -04:00
Nathan Marz
33d19ebd1d cljs tests passing 2016-08-04 22:40:53 -04:00
Nathan Marz
4005aca92e get cljs compiling 2016-08-04 16:32:54 -04:00
Nathan Marz
4460ee313e all tests passing 2016-08-04 16:20:23 -04:00
Nathan Marz
53682de1eb more fixes 2016-08-04 16:03:59 -04:00
Nathan Marz
423da1e03f more fixes 2016-08-04 15:03:00 -04:00
Nathan Marz
73312bffd7 fixes 2016-08-04 13:47:54 -04:00
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
9c9b19af26 fix error when using specter with aot 2016-06-27 17:32:02 -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
d1e32be13b fix exception when using val collection with setval 2016-06-22 21:14:35 -04:00
Nathan Marz
9ff9ef6650 Fix #128 2016-06-21 18:38:00 -04:00
Nathan Marz
e4ee703a09 update richnav comment 2016-06-16 09:44:30 -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
c709b16eab ALL and MAP-VALS perf improvement for small maps 2016-06-15 17:18:58 -04:00
Nathan Marz
ef8039cacc error if pathed fn used where navigator expected 2016-06-15 11:41:12 -04:00
Nathan Marz
f5baf819c0 fix typo 2016-06-15 10:32:50 -04:00
Nathan Marz
85b91d19c4 rearrange code for bootstrap compatibility 2016-06-14 08:45:11 -04:00
Nathan Marz
ecda5e2cff rearrange code to hide riddley usage from bootstrap 2016-06-13 19:49:35 -04:00
Nathan Marz
aedb7235f9 add note on implementation detail of using cljs.analyzer 2016-06-13 17:25:29 -04:00
Nathan Marz
8c128816f5 get macroexpansion for clojurescript working correctly so that collected? works inside inline paths 2016-06-13 17:23:23 -04:00
Nathan Marz
c82c3b71d8 add note about not being able to use collected? inline in a path when using cljs, disable that test for cljs 2016-06-13 15:26:08 -04:00
Nathan Marz
a687f4a0bc test for traverse + make it work in cljs 2016-06-13 14:51:20 -04:00
Nathan Marz
66d1ce65f3 Merge branch 'master' into traverse 2016-06-13 13:51:03 -04:00
Nathan Marz
f26aa001eb make MAP-VALS work on nil 2016-06-11 09:51:28 -04:00
Nathan Marz
3dc7ad25ff added collected? and DISPENSE navigators 2016-06-10 07:57:18 -04:00
Nathan Marz
e20278cf97 fix typo in docstring 2016-06-09 23:19:34 -04:00