gen14: less logging if heads are empty: just return with nil immediately, if head is empty.
add (:italian :initial) constraints on complement within standard-filter-fn
working on possibly more filtering on complement generation.
change (empty? heads) to (or (fn? heads) (not (empty? heads))), because calling (empty?) on a fn will throw a "Don't know how to create ISeq from" exception.
passing head as a function rather than calling (gen-all), since the latter will exhaustively generate at the wrong time (i.e. immediately)
..similarly, generate complements as-needed (by using a (fn [] (gen-all)) rather than calling (gen-all) directly.
In gen17, check for whether heads is a function, and if so, just call gen14 directly. On the other hand, if heads is a sequence, lazy-cat with gen14 with first of heads, and gen17 with rest of heads.
more comments