core.logic

generalize the notion of hash for robustness

Details

  • Type: Defect Defect
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None

Description

The second nom/hash throws an exception, because the nom/hash constraint is ran before the predc one.

(is (= (run* [q]
         (nom/fresh [x]
           (fresh [y]
             (predc y nom? `nom?)
             (nom/hash y x)
             (== y 'foo))))
      ()))

(is (= (run* [q]
         (nom/fresh [x]
           (fresh [y]
             (nom/hash y x)
             (predc y nom? `nom?)
             (== y 'foo))))
      ()))

Perhaps, we can generalize the notion of hash.

  1. logic-102.diff
    07/Jan/13 12:39 PM
    5 kB
    Nada Amin
  2. refactoring.diff
    08/Jan/13 7:04 AM
    2 kB
    Nada Amin

Activity

David Nolen made changes -
Field Original Value New Value
Description The second nom/hash throws an exception, because the nom/hash constraint is ran before the predc one.
{code}
  (is (= (run* [q]
           (nom/fresh [x]
             (fresh [y]
               (predc y nom? `nom?)
               (nom/hash y x)
               (== y 'foo))))
        ()))
  (is (= (run* [q]
           (nom/fresh [x]
             (fresh [y]
               (nom/hash y x)
               (predc y nom? `nom?)
               (== y 'foo))))
        ()))
{code}

Perhaps, we can generalize the notion of hash.
The second nom/hash throws an exception, because the nom/hash constraint is ran before the predc one.
{code}
(is (= (run* [q]
         (nom/fresh [x]
           (fresh [y]
             (predc y nom? `nom?)
             (nom/hash y x)
             (== y 'foo))))
      ()))

(is (= (run* [q]
         (nom/fresh [x]
           (fresh [y]
             (nom/hash y x)
             (predc y nom? `nom?)
             (== y 'foo))))
      ()))
{code}

Perhaps, we can generalize the notion of hash.
David Nolen made changes -
Resolution Completed [ 1 ]
Status Open [ 1 ] Resolved [ 5 ]
David Nolen made changes -
Status Resolved [ 5 ] Reopened [ 4 ]
Resolution Completed [ 1 ]
Nada Amin made changes -
Attachment logic-102.diff [ 11797 ]
David Nolen made changes -
Resolution Completed [ 1 ]
Status Reopened [ 4 ] Resolved [ 5 ]
Nada Amin made changes -
Attachment refactoring.diff [ 11799 ]
David Nolen made changes -
Status Resolved [ 5 ] Closed [ 6 ]

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: