Alex, it's funny that the example you showed about using the new extension 
mechanism looks very much like implementing lifecycle hooks in React.js 
(and the various CLJ/CLJS wrappers).

Indeed having value-based extension makes it much more flexible than having 
to use deftype/defrecord. My understanding is that since it's based on 
metadata, one could extend after the fact with `reset-meta!`/`alter-meta!` 
right?

On Tuesday, November 6, 2018 at 2:42:45 PM UTC+1, Alex Miller wrote:
>
> 1.10.0-beta5 is now available.
>
> You can try it with clj using:
>
>       clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version 
> "1.10.0-beta5"}}}'
>
> Changes in 1.10.0-beta5:
>
>
>    - In addition to prior methods of extension, values can now extend 
>    protocols by adding metadata where keys are fully-qualified symbols naming 
>    protocol functions and values are function implementations. Protocol 
>    implementations are checked first for direct definitions (defrecord, 
>    deftype, reify), then metadata definitions, then external extensions 
>    (extend, extend-type, extend-protocol). datafy has been updated to use 
> this 
>    mechanism.
>    - `symbol` can now be passed vars or keywords to obtain the 
>    corresponding symbol
>    - CLJ-2420 <https://dev.clojure.org/jira/browse/CLJ-2420> error 
>    reporting enhancements - more refined phase reporting, new 
>    clojure.main/ex-triage split out of clojure.main/ex-str, execution errors 
>    now report the top *user* line in the stack trace omitting frames from 
>    core, enhancements to providing file and line via meta on a form
>    - CLJ-2425 <https://dev.clojure.org/jira/browse/CLJ-2425> add java 11 
>    javadoc url
>    - CLJ-2424 <https://dev.clojure.org/jira/browse/CLJ-2424> fix test bug 
>    from CLJ-2417
>
> You can read the full 1.10 changelog here: 
> https://github.com/clojure/clojure/blob/master/changes.md
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to