- Update dependencies
- Remove unused dependency tailrecursion/cljs-priority-map (thanks @alandipert)
- Move from boot to tools-deps
- Setup ci using github actions
- Add clj-kondo config
- Improve performance of
javelin.core/cell?
(thanks @borkdude)
-
Add formula-of, formulet macros
-
Formula cells that cannot change will be tagged as constant
-
Better support for lenses:
- Added arity to formula function to accept lens update function.
- Added arity to set-formula! function to accept lens update function.
- Added arity to set-cell!= macro to accept lens update function.
-
Various performance improvements:
- Cell type fields are now native JS arrays, not CLJS collections.
- Replace CLJS priority map used in propagation with a sorted JS array.
- Eliminate seqs wherever possible by looping instead.
- Remove redundant operations during cell creation.
- Add simpler, more efficient impl. for simple cell-doseq use case.
-
Misc:
- Add docstrings for everything.
- Use clojure.core/destructure instead of cljs.core/destructure when compiling in an older version of CLJS that does not have it.
- cell-let binds map destructuring
- Add formula to API overview in README
- Correct handling of catch, finally
- Add missing special forms, fix tests
- Update README with namepace changes
- Change deploy group from javelin to hoplon
- introduce formula function earlier on README
- Rename namespaces (BREAKING)
- Add meta to cells
- Move from lein to boot
- Improve javelin-clj, add tests
- Remove debug print, fix clojars deploy
- Accept "for" style bindings in cell-doseq
- Fix issue with ::none appearing in formulas in dosync
- Improve lenses examples and tests
- Update clojurescript version
Fri Aug 8 13:15:23 EDT 2014
- Add optional additional argument to
cell=
anddefc=
macros. When called with this additional argument they return lens cells.
Thu Aug 7 18:45:31 EDT 2014
- Add
formula?
,lens?
, andlens
. - Fix issues with watches not being notified when formulas are mutated.
- Fix issues with watch notifications and transactions.
- Better performance.
Wed Aug 6 11:13:56 EDT 2014
- Add
dosync
macro.
Tue Jul 1 00:27:56 EDT 2014
lift
deprecated and renamed toformula
- Bugfix: Fix issue with cell-let macro
- Bugfix: Fix cell-doseq, making it reactive.
- Add prop-cell
- cljs 0.0-2173 compat: IReset/ISwap support in Cell
- add cell-doseq test; dox
- Remove watches on destroy; add cell-let; cleanup
- Seqify collection cell arg to cell-map; remove mirroring macros
Sun Nov 24 12:34:02 EST 2013
- add clojure implementation
Wed Oct 30 16:09:26 EDT 2013
- add
cell-map
function andcell-doseq
macro
Mon Oct 21 23:33:21 EDT 2013
- add
make-require
andmake-require-macros
Mon Oct 21 16:41:17 EDT 2013
- add
refer-all
macro
Sun Oct 20 16:25:35 EDT 2013
- rollback unquote fix in 2.0.3
Sun Oct 20 14:22:48 EDT 2013
- Feature: add
alts!
macro
Sat Oct 19 18:24:43 EDT 2013
- Bugfix: issue with syntax-unquoted references to cells in formulas
Thu Oct 17 15:12:29 EDT 2013
- Update dependencies to versions compatible with new CLJS version.
Thu Oct 17 02:31:41 EDT 2013
- Bugfix: issue with arg destructuring in anon fns in formulas
Wed Oct 16 12:23:32 EDT 2013
Wed Oct 16 11:12:01 EDT 2013
- Use hoisting instead of lifting when constructing formulas.
- Unsupported special forms are now down to just
ns
,def
,deftype*
, anddefrecord*
. - It is no longer an error to destroy a cell that other cells reference in their formulas.
Mon Oct 14 14:08:09 EDT 2013
- Add
defc
anddefc=
macros.
Sun Oct 13 18:24:15 EDT 2013
- Remove
mx
macro. - Add
macroexpand-all
macro. - Unsupported special forms in formulas now cause compile-time exception.
- Fix issue where local bindings were interpreted as special forms with the same name.
- The
cell?
function returns the cell or nil instead of boolean. - Add
input?
macro. - Watches can be added to input and formula cells. IWatchable is now fully supported again by all Cells.
- Move
tailrecursion.javelin.macros
namespace totailrecursion.javelin
. - Remove
cell?
,input?
,cell
,set-cell!
, anddestroy-cell!
macros—use the functions with corresponding names instead.
Tue Oct 8 19:28:37 EDT 2013
- Add
cell?
,set-cell!
,set-cell!=
, anddestroy-cell!
macros.
Sun Oct 6 16:32:01 EDT 2013
- Throw exception when
swap!
orreset!
is applied to a formula cell. - Watches can no longer be added to formula cells. Use cells instead.
- Remove macros
cfn
anddefcfn
from public API. - Remove convenience functions
route*
,timer*
,log
,timeout
, andinterval
from public API. - Remove
self?
from public API and self-referential code. - The
cell
macro creates only input cells;cell=
creates only formula cells. - Changes in the way macro builds formulas:
- Quoted expressions are not walked but remain quoted.
- The
unquote
form is repurposed: argument is evaluated in place and not walked. - The
unquote-splicing
form is interpreted as the composition ofunquote
andderef
.
Mon Sep 30 15:22:11 EDT 2013
- Remove
done
property fromCell
type. - Remove
done!
from public API.