{"action":"created","issue":{"url":"https://api.github.com/repos/BurntSushi/suffix/issues/4","repository_url":"https://api.github.com/repos/BurntSushi/suffix","labels_url":"https://api.github.com/repos/BurntSushi/suffix/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/BurntSushi/suffix/issues/4/comments","events_url":"https://api.github.com/repos/BurntSushi/suffix/issues/4/events","html_url":"https://github.com/BurntSushi/suffix/issues/4","id":168553116,"number":4,"title":"approaching 1.0","user":{"login":"BurntSushi","id":456674,"avatar_url":"https://avatars.githubusercontent.com/u/456674?v=3","gravatar_id":"","url":"https://api.github.com/users/BurntSushi","html_url":"https://github.com/BurntSushi","followers_url":"https://api.github.com/users/BurntSushi/followers","following_url":"https://api.github.com/users/BurntSushi/following{/other_user}","gists_url":"https://api.github.com/users/BurntSushi/gists{/gist_id}","starred_url":"https://api.github.com/users/BurntSushi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BurntSushi/subscriptions","organizations_url":"https://api.github.com/users/BurntSushi/orgs","repos_url":"https://api.github.com/users/BurntSushi/repos","events_url":"https://api.github.com/users/BurntSushi/events{/privacy}","received_events_url":"https://api.github.com/users/BurntSushi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/BurntSushi/suffix/labels/help%20wanted","name":"help wanted","color":"159818"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-08-01T02:07:57Z","updated_at":"2016-08-13T12:08:58Z","closed_at":null,"body":"This crate enjoys a small API and has had some minor breaking changes over its lifetime, but given its modest functionality, I don't foresee a major API refactoring in its near future. Therefore, I'd like to move this to 1.0.\r\n\r\nWhen I initially built this crate, I did have a grander vision for building a more complete suffix array implementation. In particular, while this crate provides a nearly optimal construction algorithm implementation, it does not provide an optimal search algorithm implementation. Search should be implementable in `O(p+logn)` time (where `p ~ len(query)` and `n ~ len(haystack)`), but is currently `O(p*logn)`. Improving the bound requires some sophisticated implementation tricks that have proved difficult to extract from the literature. I offered a bounty on a [StackOverflow question and got an answer](http://stackoverflow.com/questions/27768429/implementation-of-string-pattern-matching-using-suffix-array-and-lcp-lr), but I haven't digested it yet. Nevertheless, a plain suffix table is plenty useful in its own right, so a 1.0 release shouldn't be blocked on further improvements even if it requires a rethink of the public API."},"comment":{"url":"https://api.github.com/repos/BurntSushi/suffix/issues/comments/239617742","html_url":"https://github.com/BurntSushi/suffix/issues/4#issuecomment-239617742","issue_url":"https://api.github.com/repos/BurntSushi/suffix/issues/4","id":239617742,"user":{"login":"danieldk","id":49398,"avatar_url":"https://avatars.githubusercontent.com/u/49398?v=3","gravatar_id":"","url":"https://api.github.com/users/danieldk","html_url":"https://github.com/danieldk","followers_url":"https://api.github.com/users/danieldk/followers","following_url":"https://api.github.com/users/danieldk/following{/other_user}","gists_url":"https://api.github.com/users/danieldk/gists{/gist_id}","starred_url":"https://api.github.com/users/danieldk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danieldk/subscriptions","organizations_url":"https://api.github.com/users/danieldk/orgs","repos_url":"https://api.github.com/users/danieldk/repos","events_url":"https://api.github.com/users/danieldk/events{/privacy}","received_events_url":"https://api.github.com/users/danieldk/received_events","type":"User","site_admin":false},"created_at":"2016-08-13T12:08:58Z","updated_at":"2016-08-13T12:08:58Z","body":"Did you consider making the implementation type-generic for 1.0? If one wants to search e.g. at a token level rather than the character level, it'd make more sense to use a perfect hash automaton and an array of integers/unsigneds as the data array.\r\n\r\nI think the readme hints at trying this before, though."}}
{"actor":{"display_login":"danieldk"}}