datomic

2026-01-28T21:11:53.324619Z

I believe they're not documented or otherwise promised to, but do find-scalar and find-tuple find clauses cause the query engine to stop working as soon as they unify on something to return?

rutledgepaulv 2026-01-29T23:19:27.502959Z

i gather the same is true of sample in a find spec? all work for the :where clause is computed regardless and :find is just a projection of the resulting relation?

favila 2026-01-30T00:01:56.381699Z

Yes

favila 2026-01-30T00:02:48.995909Z

Query operates on and produces sets of relations, find is just a projection. There’s no “short circuiting”

favila 2026-01-30T00:04:21.167489Z

Can think of dataflow as in -> where -> with -> find, each stage gets full result from one before

2026-01-30T00:06:45.467879Z

Thank you!

2026-01-30T00:08:50.087039Z

And I think I prefer it this way—it wouldn't make a lot of sense if running a query with find-scalar might only succeed because it avoided something that would have thrown if it had kept running to produce the full set

favila 2026-01-28T21:53:52.257439Z

no

favila 2026-01-28T21:54:10.666149Z

those forms save you absolutely no work at all

favila 2026-01-28T21:54:29.692369Z

they're also not supported by the client api

favila 2026-01-28T21:54:54.677779Z

(first results) and (ffirst results) are exact equivalents