meander

All things about https://github.com/noprompt/meander Need help and no one responded? Feel free to ping @U5K8NTHEZ
noprompt 2020-12-02T19:07:13.435400Z

(let [sf (rewriter
          '{?k1 ?v1, ?k2 ?v2}
          ;; or on the right!
          '(meander.epsilon/or {?v1 ?k1} {?v2 ?k2}))
      ;; Makes a system like `meander.epsilon/rewrite`
      s_find (sf find-runtime)
      ;; Makes a system like  `meander.epsilon/rewrites`
      s_search (sf depth-first-search-runtime)
      target {:a 1 :b 2 :c 3}]
  [(s_find target)
   (s_search target)])
;; => [{1 :a}
;;     ({1 :a}
;;      {2 :b}
;;      {1 :a}
;;      {3 :c}
;;      {2 :b}
;;      {1 :a}
;;      {2 :b}
;;      {3 :c}
;;      {3 :c}
;;      {1 :a}
;;      {3 :c}
;;      {2 :b})]

noprompt 2020-12-02T19:07:30.435800Z

This is on the epsilon-interpreter branch (almost there!).

noprompt 2020-12-02T19:08:19.436700Z

Don’t tell anyone this but you can use and, or, and let on the right. 😉

noprompt 2020-12-02T19:12:56.438100Z

After this is merged, I think beyond bug fixes, I really need to stop working on the epsilon arm of the project and continue this work on zeta.

noprompt 2020-12-02T19:15:20.440200Z

I think the foundation here is good enough to stand on though. I haven’t tried it yet, but I think this model could be extended to support explainability by rolling a custom runtime.

noprompt 2020-12-02T19:15:31.440500Z

The only exception might be cata.

noprompt 2020-12-02T19:15:46.440800Z

But that may not be the case.