{"action":"created","issue":{"url":"https://api.github.com/repos/opencog/atomspace/issues/1454","repository_url":"https://api.github.com/repos/opencog/atomspace","labels_url":"https://api.github.com/repos/opencog/atomspace/issues/1454/labels{/name}","comments_url":"https://api.github.com/repos/opencog/atomspace/issues/1454/comments","events_url":"https://api.github.com/repos/opencog/atomspace/issues/1454/events","html_url":"https://github.com/opencog/atomspace/issues/1454","id":278662602,"number":1454,"title":"extended GlobUTest fails","user":{"login":"linas","id":94368,"avatar_url":"https://avatars2.githubusercontent.com/u/94368?v=4","gravatar_id":"","url":"https://api.github.com/users/linas","html_url":"https://github.com/linas","followers_url":"https://api.github.com/users/linas/followers","following_url":"https://api.github.com/users/linas/following{/other_user}","gists_url":"https://api.github.com/users/linas/gists{/gist_id}","starred_url":"https://api.github.com/users/linas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/linas/subscriptions","organizations_url":"https://api.github.com/users/linas/orgs","repos_url":"https://api.github.com/users/linas/repos","events_url":"https://api.github.com/users/linas/events{/privacy}","received_events_url":"https://api.github.com/users/linas/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"leungmanhin","id":7465047,"avatar_url":"https://avatars2.githubusercontent.com/u/7465047?v=4","gravatar_id":"","url":"https://api.github.com/users/leungmanhin","html_url":"https://github.com/leungmanhin","followers_url":"https://api.github.com/users/leungmanhin/followers","following_url":"https://api.github.com/users/leungmanhin/following{/other_user}","gists_url":"https://api.github.com/users/leungmanhin/gists{/gist_id}","starred_url":"https://api.github.com/users/leungmanhin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leungmanhin/subscriptions","organizations_url":"https://api.github.com/users/leungmanhin/orgs","repos_url":"https://api.github.com/users/leungmanhin/repos","events_url":"https://api.github.com/users/leungmanhin/events{/privacy}","received_events_url":"https://api.github.com/users/leungmanhin/received_events","type":"User","site_admin":false},"assignees":[{"login":"leungmanhin","id":7465047,"avatar_url":"https://avatars2.githubusercontent.com/u/7465047?v=4","gravatar_id":"","url":"https://api.github.com/users/leungmanhin","html_url":"https://github.com/leungmanhin","followers_url":"https://api.github.com/users/leungmanhin/followers","following_url":"https://api.github.com/users/leungmanhin/following{/other_user}","gists_url":"https://api.github.com/users/leungmanhin/gists{/gist_id}","starred_url":"https://api.github.com/users/leungmanhin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leungmanhin/subscriptions","organizations_url":"https://api.github.com/users/leungmanhin/orgs","repos_url":"https://api.github.com/users/leungmanhin/repos","events_url":"https://api.github.com/users/leungmanhin/events{/privacy}","received_events_url":"https://api.github.com/users/leungmanhin/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2017-12-02T07:08:00Z","updated_at":"2017-12-03T06:34:18Z","closed_at":null,"author_association":"OWNER","body":"I just added a different kind of glob test in pull req #1453 and it causes the test to fail.\r\n\r\nMan Hin -- I am assigning this to you, since you are the last one to look at this code.\r\n\r\nIf you are busy or the thought of looking at this code makes your head hurt, a plausible course of action is to ignore this and/or maybe even disable the failing subtest.  Can't tell if ghost will or will not need it."},"comment":{"url":"https://api.github.com/repos/opencog/atomspace/issues/comments/348743948","html_url":"https://github.com/opencog/atomspace/issues/1454#issuecomment-348743948","issue_url":"https://api.github.com/repos/opencog/atomspace/issues/1454","id":348743948,"user":{"login":"linas","id":94368,"avatar_url":"https://avatars2.githubusercontent.com/u/94368?v=4","gravatar_id":"","url":"https://api.github.com/users/linas","html_url":"https://github.com/linas","followers_url":"https://api.github.com/users/linas/followers","following_url":"https://api.github.com/users/linas/following{/other_user}","gists_url":"https://api.github.com/users/linas/gists{/gist_id}","starred_url":"https://api.github.com/users/linas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/linas/subscriptions","organizations_url":"https://api.github.com/users/linas/orgs","repos_url":"https://api.github.com/users/linas/repos","events_url":"https://api.github.com/users/linas/events{/privacy}","received_events_url":"https://api.github.com/users/linas/received_events","type":"User","site_admin":false},"created_at":"2017-12-03T06:34:18Z","updated_at":"2017-12-03T06:34:18Z","author_association":"OWNER","body":"Well, look at the unit test itself. It explicitly shows what the expected answer should be.\r\n\r\nGlobs were originally invented to handle AIML-style pattern matching, and are used fairly heavily by ghost.  Globs are the same thing as wild-cards in regexes.\r\n\r\nIn this unit test, the data is the `list a b c d e f g h i` and the pattern is `* * *`  so the first * can match one or more letters from the begining of the string, the second * can match letters from the middle, and the third * matches letters from the end.   Then there is a grounded predicate not that rejects all matches unless the middle star is `d e f`.   What the current pattern matcher does is to try every possible 3-way split, but the middle third is always taken to be one letter, never 2 or more, so the unit test fails.\r\n\r\nThe code to split a list of atoms into every possible N-way combination of them is kind of gnarly.  I wrote the original version, it was imperfect, Man Hin wrote the revised version.\r\n\r\nHow likely is ghost to hit this?  Well, suppose ghost has an AIML-like rule \"* you said that * is a kind of *\" that was trying to match \"Micheal J Fox you said that a blue vase is a kind of expensive pottery\" -- is that middle star going to be able to pick out \"blue vase\"?    Hmm Dunno. I bet it cannot."}}
{"actor":{"display_login":"linas"}}