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 |
|
Nathan Marz
|
f7f2911350
|
precompile ALL, LAST, and FIRST
|
2015-09-11 17:36:16 -04:00 |
|
Nathan Marz
|
c6522de07d
|
clojurescript port complete, not working for greater than 20 params
|
2015-09-11 17:17:43 -04:00 |
|
Nathan Marz
|
ffaaf06f9f
|
parameterized paths working for cljs
|
2015-09-11 16:51:21 -04:00 |
|
Nathan Marz
|
5cb0a8e4f0
|
complete cljs refactoring
|
2015-09-11 16:13:03 -04:00 |
|
Nathan Marz
|
7a4caa5b61
|
partial refactoring to prepare for cljs compatibility
|
2015-09-11 16:06:31 -04:00 |
|
Nathan Marz
|
c633e3a80a
|
fix comment for putval
|
2015-09-11 11:23:51 -04:00 |
|
Nathan Marz
|
224369f4eb
|
add comments about what can be parameterized
|
2015-09-11 11:21:21 -04:00 |
|
Nathan Marz
|
2a30a6aba5
|
collect-val instead of collect*
|
2015-09-11 01:42:29 -04:00 |
|
Nathan Marz
|
ae679b6cc1
|
remove dead code from old collector code
|
2015-09-10 23:10:34 -04:00 |
|
Nathan Marz
|
fc6392cc9e
|
implement pathed collectors and convert collect and collect-one
|
2015-09-10 23:09:19 -04:00 |
|
Nathan Marz
|
bcfcd02f80
|
implemented paramscollector and converted putval to use it
|
2015-09-10 22:55:43 -04:00 |
|
Nathan Marz
|
983bf84495
|
parameterize srange and srange-dynamic, ParamsNeededPaths can now be called as a function to convert to CompiledPath
|
2015-09-10 22:26:32 -04:00 |
|
Nathan Marz
|
ef40adbe3b
|
better names for higher order parameterized path helpers
|
2015-09-10 21:47:52 -04:00 |
|
Nathan Marz
|
a983e6e028
|
all higher order selectors now converted to be parameterizable, helpers for making higher order selectors with fixed paths or variable paths complete
|
2015-09-10 20:47:46 -04:00 |
|
Nathan Marz
|
3187cdad34
|
have params-paramspath helper automatically compile the path, refactor filterer
|
2015-09-10 17:12:54 -04:00 |
|
Nathan Marz
|
efd4f2ee9a
|
higher order parameterized builder working, implemented filterer
|
2015-09-10 17:09:16 -04:00 |
|
Nathan Marz
|
56ba5a5b8d
|
removed unused KeyPath type
|
2015-09-10 14:08:57 -04:00 |
|
Nathan Marz
|
2dfc490438
|
remove debugging println
|
2015-09-10 13:57:27 -04:00 |
|
Nathan Marz
|
d8feed2ca1
|
paramspath working with composition, measured about 14% slower than compiled path without params and 15x faster than select with on the fly compilation
|
2015-09-10 13:56:33 -04:00 |
|
Nathan Marz
|
6e3f79dd53
|
restructured in terms of CompiledPath and implemented composition for ParamsNeededPath
|
2015-09-10 02:38:52 -04:00 |
|
Nathan Marz
|
d693ad29ae
|
more name refactoring
|
2015-09-10 00:04:57 -04:00 |
|
Nathan Marz
|
d1a5b66c71
|
rename StructureValsPathComposer to PathComposer
|
2015-09-10 00:03:29 -04:00 |
|
Nathan Marz
|
f800a510dd
|
remove unnecessary StructureValsPath protocol and move path composer protocol into impl
|
2015-09-09 15:20:58 -04:00 |
|
Nathan Marz
|
1d93961cd3
|
fix not-native tag for optimized cljs prot invocation
|
2015-07-03 17:40:13 -04:00 |
|
Nathan Marz
|
80e1e3dd30
|
optimized protocol invocations for cljs
|
2015-07-03 16:38:06 -04:00 |
|
Nathan Marz
|
a76f124579
|
get rid of field macro since .- syntax works in both clj and cljs
|
2015-07-03 15:46:35 -04:00 |
|
Nathan Marz
|
2383cc9aab
|
replace obj-extends? with satisfies?, make default clojurescript impls for protocols by using default instead of object
|
2015-07-03 15:40:34 -04:00 |
|
Nathan Marz
|
6440e4e605
|
fix unsafe extensions of protocols to native javascript objects
|
2015-07-03 15:29:14 -04:00 |
|
Nathan Marz
|
051ba3f038
|
added not-selected? and transformed selectors
|
2015-07-02 17:23:18 -04:00 |
|
Nathan Marz
|
b626227a9e
|
remove extra overhead in cljs protocol method invocations
|
2015-07-01 10:33:29 -04:00 |
|
Nathan Marz
|
859b31bce7
|
huge speedup to cljs version by optimizing field access
|
2015-07-01 10:30:51 -04:00 |
|
Nathan Marz
|
38fed4a7d0
|
fixed cljs obj-extends? to have special case for nil because it cannot be reflected on like normal objects
|
2015-06-30 19:46:55 -04:00 |
|
Nathan Marz
|
905e6b9b07
|
fix namespace problem with LAST/FIRST
|
2015-06-30 17:07:44 -04:00 |
|