David Nolen <dnolen.li...@gmail.com> writes:

Hi David,

> Ambrose has submitted a patch which I need to go over. Even so, I
> don't think docstrings are going to help you that much.

It doesn't teach you logic programming, but at least it could explain
the arguments.  Something like:

(defmacro exist [[& x-rest] & g-rest]
  "Takes a vector of symbols that are provided as fresh vars in body."
  {:arglists '([[sym*] & body])}
  `(fn [a#]
     (inc
      (let [~@(lvar-binds x-rest)]
        (bind* a# ~@g-rest)))))

> If you want to dig in I recommend reading:
>
> - The Reasoned Schemer

Yes, it's on my reading list. :-)

> When it comes to logic programming it does help to have a basic
> understand of the execution model.
>
> - William Byrd's thesis on miniKanren,
> https://scholarworks.iu.edu/dspace/handle/2022/8777

Got it.

> At this point you'll still be at loss as far as practical applications
> - for that you need to look at some Prolog literature:
>
> - Bratko's Prolog Programming for Artificial Intelligence
> - Sterling & Shapiro's Art of Prolog
>
> Attempting to compete with the existing high-quality literature is a
> non-goal for me at least.
>
> I admit that diving into core.logic is a bit of an adventure at this
> point (though I'd like to think a very rewarding one). As more people
> give it a shot I hope others will weigh in with wonderful
> tutorial/guides such as Ambrose's.

I'm looking forward to reading more of those. :-)

Bye,
Tassilo

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to