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 |
|
Nathan Marz
|
911dab5e52
|
add non-init reduce case to traverse
|
2016-06-09 23:19:12 -04:00 |
|
Nathan Marz
|
f605167a53
|
implement traverse
|
2016-06-09 23:19:11 -04:00 |
|
Nathan Marz
|
3af11575d7
|
fix typos in docstrings
|
2016-06-09 23:19:03 -04:00 |
|
Nathan Marz
|
0c4c4369a2
|
eliminate compiler performance warning regarding case
|
2016-06-09 17:32:40 -04:00 |
|
Nathan Marz
|
b22ff2bb2a
|
add in transients namespace
|
2016-06-09 08:46:29 -04:00 |
|
Nathan Marz
|
4565a7e7d6
|
fail cljs build on any warnings, eliminate warning about com.rpl.specter.transient namespace by renaming to transients
|
2016-06-09 08:06:17 -04:00 |
|
Nathan Marz
|
98343784bf
|
fix end, last, beginning, and first to work on nil
|
2016-06-08 14:42:24 -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
|
49957f2536
|
Merge pull request #107 from aengelberg/transient-navigators
Transient navigators
|
2016-06-08 05:48:51 -04:00 |
|
Alex Engelberg
|
2147584dca
|
Change reduce to reduce-kv
|
2016-06-07 23:16:54 -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
|
ec05c14225
|
document exact semantics of select*/transform* needed for Navigator
|
2016-06-07 14:34:32 -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
|
a4c941b744
|
cljs compatible
|
2016-06-07 00:49:52 -04:00 |
|
Nathan Marz
|
68ac32ef56
|
optimize if-path and selected? for non basic fn case
|
2016-06-06 21:30: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
|
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 |
|
Alex Engelberg
|
399e5661f1
|
The (identical?) trick doesn't work in cljs, but select-keys does
|
2016-06-05 22:11:34 -07:00 |
|
Alex Engelberg
|
25ba21d9ee
|
Remove no-longer-used transient-all-select|transform
|
2016-06-05 21:47:44 -07:00 |
|
Alex Engelberg
|
cb0dc261cf
|
Add tests for transients, fix transient navigators based on test failures
|
2016-06-05 21:38:14 -07:00 |
|
Alex Engelberg
|
067ce9edee
|
Remove ALL! and filterer!
|
2016-06-05 11:11:14 -07:00 |
|
Alex Engelberg
|
b3e581f737
|
WIP, transient navigators
|
2016-06-05 10:08:30 -07: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 |
|
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 |
|
Stephen Rudolph
|
0f2118d939
|
Merge remote-tracking branch 'upstream/master'
|
2016-02-26 16:29:34 -06:00 |
|
Nathan Marz
|
050384e0fd
|
cleaner and more composable integration
|
2016-02-21 19:44:50 -05:00 |
|
Nathan Marz
|
70d916dd6a
|
edit -> edited
|
2016-02-16 18:29:57 -05:00 |
|
Nathan Marz
|
2d868ec587
|
zipper/specter integration implementation
|
2016-02-16 15:21:26 -05:00 |
|
Nathan Marz
|
ed6f1902b9
|
rename VOID to STOP
|
2016-02-13 18:56:35 -05:00 |
|
Stephen Rudolph
|
1b26aaff1b
|
Fixed CLJS queue usage
|
2016-02-12 20:27:32 -06:00 |
|
Stephen Rudolph
|
a12222eac5
|
Persistent queues no longer treated as lists
|
2016-02-12 16:16:54 -06:00 |
|
Nathan Marz
|
de15b1e23e
|
handle paramsneededpath with 0 params (used for params-reset) correctly in higher order paths
|
2016-02-11 16:54:14 -05:00 |
|
Nathan Marz
|
8293f68696
|
allow defprotocolpath to be defined with no params argument for consistency with declarepath
|
2016-01-31 10:01:08 -08:00 |
|
Nathan Marz
|
b16dbdfdd2
|
change params-reset to backtrack in params-idx by number of needed params of its path, add test that verifies composability
|
2016-01-30 12:41:29 -08:00 |
|
Nathan Marz
|
8dd2cb8939
|
allow declarepath to have parameters, implemented params-reset for enabling recursive parameterized paths
|
2016-01-30 12:03:46 -08:00 |
|
Nathan Marz
|
7e54757659
|
auto-coerce map entries to vectors during ALL
|
2016-01-28 12:41:36 -08:00 |
|
Nathan Marz
|
d56ea62e00
|
reimplement stay-then-continue and continue-then-stay in terms of multi-path
|
2016-01-22 19:45:20 -08:00 |
|
Nathan Marz
|
aa8755254f
|
clean up notes
|
2016-01-14 17:48:39 -05:00 |
|
Nathan Marz
|
dd6dafc390
|
implemented declarepath/providepath
|
2016-01-14 17:36:49 -05:00 |
|
Nathan Marz
|
1328551a19
|
added STAY, stay-then-continue, and continue-then-stay selectors
|
2016-01-14 13:15:19 -05:00 |
|
Nathan Marz
|
b3b6b99e7a
|
fix replace-in to work with value collection
|
2016-01-12 16:25:02 -05:00 |
|
Nathan Marz
|
49c749b74e
|
fix typo in comment
|
2016-01-12 15:40:37 -05:00 |
|
Nathan Marz
|
e37c605697
|
protocol path extensions now verify if correct number of parameters and error otherwise
|
2016-01-11 14:45:06 -05:00 |
|
Nathan Marz
|
2ad873da11
|
fixed #48
|
2016-01-11 10:25:03 -05:00 |
|
Nathan Marz
|
af7d76be97
|
improve syntax checking for defpath
|
2016-01-10 10:35:38 -05:00 |
|
Nathan Marz
|
c9b78ce0d6
|
add VOID selector
|
2016-01-10 10:35:18 -05:00 |
|
Nathan Marz
|
0f3ea6c79b
|
throw error if function names incorrectly specified in defpath, improve formatting of error messages
|
2016-01-05 08:57:27 -05:00 |
|
Nathan Marz
|
3073f1256b
|
fix array creation for cljs
|
2015-12-16 01:03:39 -05:00 |
|
Nathan Marz
|
41f42e20a1
|
fixed inadvertant reflection in protocol paths, replace object-array in jvm impl with faster impl
|
2015-12-16 00:53:50 -05:00 |
|
Nathan Marz
|
827726cf54
|
implement tests for protocol paths, make clear that it only works in clj
|
2015-12-12 12:37:21 -05:00 |
|
Nathan Marz
|
fc51d70b0f
|
renamed defparamspath and defparamscollector to defpath and defcollector, defpath without params now produces compiledpath directly, implemented protocolpaths
|
2015-12-12 12:03:59 -05:00 |
|
Nathan Marz
|
3980e0f194
|
make comp-paths work on lazyseqs for cljs
|
2015-11-03 10:51:42 -05:00 |
|
Nathan Marz
|
3a13052145
|
add nil->val, NIL->SET, NIL->LIST, NIL->VECTOR, and subset selectors
|
2015-10-10 11:52:50 -04:00 |
|
Josh Tilles
|
8df05c2597
|
Minor tweak: avoid top-level dos.
|
2015-10-09 14:58:59 -04:00 |
|
Josh Tilles
|
9e215b638e
|
Support Clojure 1.6 by adopting cljx.
Fixes nathanmarz/specter#16.
Resolves nathanmarz/specter#18.
|
2015-10-09 14:55:10 -04:00 |
|
Nathan Marz
|
9fcd9e5ed4
|
walker and codewalker can now be late-bound parameterized
|
2015-09-24 11:55:24 -05:00 |
|
Nathan Marz
|
df4c3bf974
|
added paramsfn helper macro for defining filter functions with later bound parameters
|
2015-09-20 22:24:11 -04:00 |
|
Nathan Marz
|
f12b6bc046
|
fix typo/formatting
|
2015-09-18 15:01:01 -04:00 |
|
Nathan Marz
|
c6046aa874
|
parameterize view and make a parameterized version of using a function called pred
|
2015-09-12 14:15:35 -04:00 |
|
Nathan Marz
|
42befa556e
|
removed dead code
|
2015-09-12 14:15:17 -04:00 |
|
Nathan Marz
|
5e08fd199e
|
cleanup capture-params-internally code
|
2015-09-12 13:16:58 -04:00 |
|