Hi, I'm excited to announce Typed Clojure 1.1.1 which includes support for symbolic execution via a new type called a "symbolic closure".
I have written a guide on how to think about this new type and what it enables. In short, it can dramatically decrease the number of local annotations needed on anonymous functions. https://github.com/typedclojure/typedclojure/tree/main/example-projects/symbolic-guide#symbolic-execution-in-typed-clojure For example, instead of: (map (fn [x :- Int, y :- Int] (+ x y)) [1] [2]) You can now write: (map #(+ %1 %2) [1] [2]) It's also useful for transducers, though we're lacking much support for comp at the moment. For now instead of: (into [] (map (fn [x :- Int] (inc x)) [1 2]) You can simply write: (into [] (map #(inc %)) [1 2]) Functions can now whiz around and be checked after they have been defined: (let [f #(inc %)] (f 1)) Getting Started: https://github.com/typedclojure/typedclojure#usage-overview 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. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/Nl8JpX_EKxoUQw_RFYta14kMIZGQciOGxa2E0IUVFepdqWMsFp_krZ370C8XV1nzWqply2OqIgm5hrjQWZxhOJchII9PM8OOpCNzcSocLyg%3D%40ambrosebs.com.