I think Stu Halloway’s proof-of-concept is at least close to what you want: https://gist.github.com/stuarthalloway/f4c4297d344651c99827769e1c3d34e9.
(Here’s the context <https://groups.google.com/forum/#!topic/clojure/i8Rz-AnCoa8> for that code, in case you were curious.) btw, you might want to take a look at the spec-provider <https://github.com/stathissideris/spec-provider> library, too. It’s not exactly what you were asking for, but I think it could help you quickly create (rough, approximate) specs that incorporate all witnessed keys. On Friday, January 5, 2018 at 11:49:15 AM UTC-5, Lucas Wiener wrote: > > Hi, > > I'm writing a spec for a fairly complex data structure. One thing that I > have identified troublesome is that I currently have no clue how "well" my > spec describes my data. I keep iterating the spec, thinking that I have > described all fields but then it turns out later that I've missed > something. I would love some kind of functionality that tells me which keys > are present in my data that are not described in my spec. I'm aware of the > design principle that a spec should not be limiting to having extra data > and I totally support that. However, at development time I think it would > be useful to have something that tells me "keys :x, :y, :z are not in the > spec" or "the spec describes a subset of the given data". Is this possible? > > Kind Regards > Lucas Wiener > -- 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.