Probably even more exciting is that we can handle (filter identity coll), although it currently requires instantiating identity:
(cf (filter (inst identity (U nil Number)) [1 nil 2])) ;=> (Seqable Number) Finally! Ambrose On Thu, Aug 1, 2013 at 2:31 AM, Ambrose Bonnaire-Sergeant < abonnaireserge...@gmail.com> wrote: > Hi, > > To mark the mid-GSoC evaluations, I'm happy to release another > core.typed version. > > Highlights: > > - type checking speed enhancements > - some usages of `every?` now update local types as expected > - currently works best on things exactly of type IPersistentCollection > (aka. a new alias Coll) > > eg. cast a (Coll Any) to (Coll Number): > (cf (let [a (ann-form [] (Coll Any))] > (assert (every? number? a)) > a)) > ;=> (Coll Number) > > - combining keys/vals with every? updates an IPersistentMap type as you > would expect > > eg. cast a (IPM Any Any) to (IPM Number Any) > (cf (let [a (ann-form {} (IPersistentMap Any Any))] > (assert (every? number? (keys a))) > a)) > ;=> (IPersistentMap Number Any > > - New `Extends` type constructor can say which interfaces a type does > *not* extend (helps fix some unsoundness) > > Thanks, > Ambrose > -- -- 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/groups/opt_out.