This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-04-02
Channels
- # asami (24)
- # babashka (85)
- # beginners (137)
- # calva (46)
- # cider (16)
- # clj-kondo (19)
- # cljs-dev (7)
- # clojure (13)
- # clojure-australia (1)
- # clojure-europe (10)
- # clojure-nl (4)
- # clojure-spec (6)
- # clojure-uk (3)
- # clojurescript (5)
- # conjure (21)
- # cursive (15)
- # datascript (46)
- # datomic (13)
- # depstar (32)
- # figwheel-main (1)
- # fulcro (6)
- # honeysql (20)
- # lsp (53)
- # malli (7)
- # meander (9)
- # off-topic (35)
- # other-languages (1)
- # polylith (41)
- # re-frame (5)
- # reagent (4)
- # releases (3)
- # rewrite-clj (2)
- # shadow-cljs (22)
- # spacemacs (15)
- # tools-deps (3)
- # xtdb (17)
Is there any way to do it faster and better? Better in the sense that search
when adding or
returns all possible combinations
(m/search dx100k
{_ {_ {:db/id ?e
:name "Ivan"}}} ?e)
such a thing works, but for more elements it throws a stackoverflow
(m/rewrite dx100k
(m/map-of _ (m/map-of _ {:db/id !e :name "Ivan"}))
[!e ...])
Definitely seems with filing an issue for. If you could include the stacktrace we can look into and see if it is easy to fix or not. Will try to look at the error message soon to understand the root cause.
So I see the ultimate problem. But I’m really not sure if there is a straight forward fix here. Basically we generate some mutually recursive functions that blow the stack. We could definitely be smarter about this. A github issue would be nice if you have the time. (If not I can) Maybe @U06MDAPTP has some idea of a good fix for this. But there is a chance we might just hold off on this till zeta. (Unless someone else wants to help fix it which is of course always welcome).
Jimmy – I’m assuming you’ve come across this in your studies, but just in case you haven’t, you may find it interesting: https://egraphs-good.github.io/