Re:Verb-Noun vs. Noun-Verb
by Garph on Wednesday October 16, 2019 @08:57PM
(#21277922)
I don't enjoy balancing parentheses in Python so I tried to bring Clojure's threading macro into the language...
Which allows left-to-right style programming
I haven't put this into production code yet, but love pipelining scripts with do
[ Parent
| on HN ]
Also see PyToolz's implementation: https://toolz.readthedocs.io/en/latest/api.html#toolz.functo...
They differentiate thread first/last for Fns with arity > 1, just like Clojure.
I made a thing[0] just like that to do pipelined async db queries:
CompletableFuture<Member> asyncProjectMembers =
Async.pipeline(Accounts.where("id >= ?", 1000);,
(accounts) -> accounts.loadProjects("updated_at >= ?", Instant.now().minusDays(30)),
(projects) -> projects.loadMembers());
If you assign the intermediates to variables, each instance will have associated with it the related collection that's queried while avoiding N+1's.