Hi Dmitrii! Here is an example of how the unifier for core.logic can be extended to work with new data structures:
https://github.com/clojure/core.logic/wiki/Extending-core.logic-(Datomic-example) In my message I was trying to ask whether anyone had used this extension feature to implement unification over Clojure maps. And, if so, whether that extension was useful for relational programming. Cheers, --Will On Thu, Mar 9, 2017 at 6:44 AM, Dmitrii Kosarev <[email protected]> wrote: > Will, > > Can you tell more about ` extensible unifier handle maps ` or maybe send a > link? > > Happy hacking, > Dmitrii > > On Thursday, March 9, 2017 at 8:46:32 AM UTC+3, William Byrd wrote: >> >> Does anyone know if the core.logic extensible unifier handle maps in >> an interesting and useful way? >> >> Cheers, >> >> --Will >> >> On Wed, Mar 8, 2017 at 6:57 AM, Evgenii Moiseenko >> <[email protected]> wrote: >> > Association list was my first idea, and I actually use them currently. >> > >> > But I am curious is there more efficient solution ? >> > >> > O(1) for lookup would be the best option, but intuitively it seems hard >> > to >> > implement something like hash-tables in relational manner. >> > Implementing a search tree seems to be more feasible. >> > >> > Nevertheless is there any research or papers in that area ? (efficient >> > relational map-like data structures). >> > >> > среда, 8 марта 2017 г., 5:21:42 UTC+3 пользователь Dan Friedman написал: >> >> >> >> Use assv as a model to look up variable in an alist. >> >> Then take that code of assv and write assvo. >> >> >> >> ... Dan >> >> >> >> On Tue, Mar 7, 2017 at 7:17 PM, Evgenii Moiseenko >> >> <[email protected]> >> >> wrote: >> >>> >> >>> I was wondering how the implementation of map-like data structure >> >>> should >> >>> look like in MiniKanren. >> >>> I am writing an interpreter of imperative language in MiniKanren and I >> >>> need a data structure to represent a mappings between variables and >> >>> their >> >>> values. >> >>> >> >>> Is there any code that implements that ? >> >>> >> >>> -- >> >>> You received this message because you are subscribed to the Google >> >>> Groups >> >>> "minikanren" group. >> >>> To unsubscribe from this group and stop receiving emails from it, send >> >>> an >> >>> email to [email protected]. >> >>> To post to this group, send email to [email protected]. >> >>> Visit this group at https://groups.google.com/group/minikanren. >> >>> For more options, visit https://groups.google.com/d/optout. >> >> >> >> >> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "minikanren" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an >> > email to [email protected]. >> > To post to this group, send email to [email protected]. >> > Visit this group at https://groups.google.com/group/minikanren. >> > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "minikanren" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/minikanren. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "minikanren" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/minikanren. For more options, visit https://groups.google.com/d/optout.
