Share your thoughts in the 2021 Clojure Community Survey!

Welcome! Please see the About page for a little more info on how this works.

0 votes
in Spec by

We've got some specs whose behavior is controlled by the value of a dynamic var. When we run

`(binding [*behave-differently* true] (s/explain-data ::spec-with-conditional-behavior nested-structure-including-maps))`

the result shows that some of the nested specs are not operating as expect based on the value of **behave-differently*. I believe that this is due to some implementations of explain\ producing lazy seqs that aren't realized until after the binding form has closed. Anecdotally, forcing realization within the binding form results in the expected behavior.

5 Answers

0 votes
by

Comment made by: dchelimsky

FYI - the description didn't format as I expected and I don't have edit permissions.

0 votes
by

Comment made by: alexmiller

I gave you edit groups David.

0 votes
by

Comment made by: dchelimsky

Thanks Alex. I updated the Description.

0 votes
by

Comment made by: alexmiller

A working example would help.

0 votes
by
Reference: https://clojure.atlassian.net/browse/CLJ-2229 (reported by dchelimsky)
...