This PR implements a new feature in the Helix component analyzer/compiler: the ability to annotate expressions with :memo and :callback metadata and have them wrapped in use-memo or use-callback.
By default, annotating an expression with ^:memo or ^:callback will automatically infer the dependencies from the local context. E.g.:
This PR implements a new feature in the Helix component analyzer/compiler: the ability to annotate expressions with
:memo
and:callback
metadata and have them wrapped inuse-memo
oruse-callback
.By default, annotating an expression with
^:memo
or^:callback
will automatically infer the dependencies from the local context. E.g.:Will be emitted as
You can override this by passing in a vector of dependencies into the annotating:
Will emit