{"action":"created","issue":{"url":"https://api.github.com/repos/orchid-hybrid/microKanren-sagittarius/issues/3","labels_url":"https://api.github.com/repos/orchid-hybrid/microKanren-sagittarius/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/orchid-hybrid/microKanren-sagittarius/issues/3/comments","events_url":"https://api.github.com/repos/orchid-hybrid/microKanren-sagittarius/issues/3/events","html_url":"https://github.com/orchid-hybrid/microKanren-sagittarius/issues/3","id":69928341,"number":3,"title":"Exhausting types doesn't induce failure","user":{"login":"jasonhemann","id":1329370,"avatar_url":"https://avatars.githubusercontent.com/u/1329370?v=3","gravatar_id":"","url":"https://api.github.com/users/jasonhemann","html_url":"https://github.com/jasonhemann","followers_url":"https://api.github.com/users/jasonhemann/followers","following_url":"https://api.github.com/users/jasonhemann/following{/other_user}","gists_url":"https://api.github.com/users/jasonhemann/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonhemann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonhemann/subscriptions","organizations_url":"https://api.github.com/users/jasonhemann/orgs","repos_url":"https://api.github.com/users/jasonhemann/repos","events_url":"https://api.github.com/users/jasonhemann/events{/privacy}","received_events_url":"https://api.github.com/users/jasonhemann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-04-21T19:15:57Z","updated_at":"2015-04-21T19:33:19Z","closed_at":null,"body":"(run^ 1 (lambda (q) (fresh () (not-pairo q) (not-booleano q) (not-symbolo q) (not-numbero q) (not-nullo q))))\r\n'((_.0 where (or (=/= _.1 null)) (or (=/= _.1 number)) (or (=/= _.1 symbol)) (or (=/= _.1 boolean)) (or (=/= _.1 pair)) (typeo _.0 _.1)))\r\n\r\n\r\nSo, I'm not sure if that's the complete list of types you'd envisioned in your term language, but if it's not, and I can build a not- operator for every type, it seems like I can exhaust all the possible types and mK will generate an answer that can be of no possible type. I think. If that makes sense."},"comment":{"url":"https://api.github.com/repos/orchid-hybrid/microKanren-sagittarius/issues/comments/94913615","html_url":"https://github.com/orchid-hybrid/microKanren-sagittarius/issues/3#issuecomment-94913615","issue_url":"https://api.github.com/repos/orchid-hybrid/microKanren-sagittarius/issues/3","id":94913615,"user":{"login":"orchid-hybrid","id":7066225,"avatar_url":"https://avatars.githubusercontent.com/u/7066225?v=3","gravatar_id":"","url":"https://api.github.com/users/orchid-hybrid","html_url":"https://github.com/orchid-hybrid","followers_url":"https://api.github.com/users/orchid-hybrid/followers","following_url":"https://api.github.com/users/orchid-hybrid/following{/other_user}","gists_url":"https://api.github.com/users/orchid-hybrid/gists{/gist_id}","starred_url":"https://api.github.com/users/orchid-hybrid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orchid-hybrid/subscriptions","organizations_url":"https://api.github.com/users/orchid-hybrid/orgs","repos_url":"https://api.github.com/users/orchid-hybrid/repos","events_url":"https://api.github.com/users/orchid-hybrid/events{/privacy}","received_events_url":"https://api.github.com/users/orchid-hybrid/received_events","type":"User","site_admin":false},"created_at":"2015-04-21T19:33:19Z","updated_at":"2015-04-21T19:33:19Z","body":"There is a basic unifier with just those 5 types but there is also another unifier which supports adding new records with an open world of types.\r\n\r\nIn the case of the basic unifier it could be possible to make that query fail by adding `(domo t '(null number symbol boolean pair))` to the typeo relation (if domo existed).\r\n"}}