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.

Reply via email to