# Dicts for structured programming and \>:\<

**URL:** <https://swi-prolog.discourse.group/t/dicts-for-structured-programming-and/7357>\
**Category:** Request For Comments\
**Created:** [April 7, 2024, 11:32am UTC](https://swi-prolog.discourse.group/t/dicts-for-structured-programming-and/7357 "2024-04-07T11:32:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Frank\_Schwidom](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/frank_schwidom/32/7662_2.png) [@Frank\_Schwidom](https://swi-prolog.discourse.group/u/Frank_Schwidom)\
**Post date:** [April 7, 2024, 11:32am UTC](https://swi-prolog.discourse.group/t/dicts-for-structured-programming-and/7357/1 "2024-04-07T11:32:21Z")

</div>

When I use dicts to get a better readable code structure I have at any point the situation that I need to unify dicts of dicts against each other.

But the operator \>:\< works only on the surface of dicts and does not go deeper.

So the only thing I can do is to program my own predicate which does the job.

But it would be cool to have an operator which can unify Dicts against each other in a recursive way.

It could be named \>::\<. How about that?

Regards,  
Frank Schwidom

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [April 8, 2024, 8:30am UTC](https://swi-prolog.discourse.group/t/dicts-for-structured-programming-and/7357/2 "2024-04-08T08:30:53Z")

</div>

I’m involved in a discussion with other Prolog systems on dict-like structures and their access. Providing recursive behavior for `(:<)/2` and `(>:<)/2` is surely one of the things on the agenda. In the meanwhile I’d like to avoid changes.
