{"action":"created","issue":{"url":"https://api.github.com/repos/c-cube/ocaml-containers/issues/227","repository_url":"https://api.github.com/repos/c-cube/ocaml-containers","labels_url":"https://api.github.com/repos/c-cube/ocaml-containers/issues/227/labels{/name}","comments_url":"https://api.github.com/repos/c-cube/ocaml-containers/issues/227/comments","events_url":"https://api.github.com/repos/c-cube/ocaml-containers/issues/227/events","html_url":"https://github.com/c-cube/ocaml-containers/pull/227","id":330983132,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzODM0OTU5","number":227,"title":"Generate unlabelled interfaces from labelled ones automatically","user":{"login":"madroach","id":1804658,"node_id":"MDQ6VXNlcjE4MDQ2NTg=","avatar_url":"https://avatars1.githubusercontent.com/u/1804658?v=4","gravatar_id":"","url":"https://api.github.com/users/madroach","html_url":"https://github.com/madroach","followers_url":"https://api.github.com/users/madroach/followers","following_url":"https://api.github.com/users/madroach/following{/other_user}","gists_url":"https://api.github.com/users/madroach/gists{/gist_id}","starred_url":"https://api.github.com/users/madroach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/madroach/subscriptions","organizations_url":"https://api.github.com/users/madroach/orgs","repos_url":"https://api.github.com/users/madroach/repos","events_url":"https://api.github.com/users/madroach/events{/privacy}","received_events_url":"https://api.github.com/users/madroach/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-06-10T16:37:05Z","updated_at":"2018-10-03T20:34:00Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/c-cube/ocaml-containers/pulls/227","html_url":"https://github.com/c-cube/ocaml-containers/pull/227","diff_url":"https://github.com/c-cube/ocaml-containers/pull/227.diff","patch_url":"https://github.com/c-cube/ocaml-containers/pull/227.patch"},"body":" * add unlabel.ml which parses interfaces and removes labels in function declarations and docstrings. This is a quick hack, but it does the job.\r\n * an attribute [@keep_label] can be added to the labelled arguments to mark labels like ~cmp which should stay in the \"unlabelled\" interface\r\n * While augmenting the labelled interfaces I stumbled across some inconsistencies between the currend labelled / non-labelled interfaces. I used the labelling that made most sense to me and added a \"FIXME\" comment.\r\n * Maybe we should break backwards compatibility at some point and name the comparison arguments to the sorting functions in CCArrayLabels.ml ~cmp instead of ~f ?\r\n\r\nBefore doing further cleanup and adding more labelled modules I would wish for some feedback on the general approach I'm taking here.\r\n\r\nPlease note that the unlabelled interfaces are generated with\r\n[``mode promote``](https://jbuilder.readthedocs.io/en/latest/jbuild.html#modes). This may help to ease @c-cube's concerns about autogenerating an interface like ``CCList.mli``\r\n\r\nIt would help a lot in maintaining something like a ContainerLabels module #216 ."},"comment":{"url":"https://api.github.com/repos/c-cube/ocaml-containers/issues/comments/426791475","html_url":"https://github.com/c-cube/ocaml-containers/pull/227#issuecomment-426791475","issue_url":"https://api.github.com/repos/c-cube/ocaml-containers/issues/227","id":426791475,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNjc5MTQ3NQ==","user":{"login":"madroach","id":1804658,"node_id":"MDQ6VXNlcjE4MDQ2NTg=","avatar_url":"https://avatars1.githubusercontent.com/u/1804658?v=4","gravatar_id":"","url":"https://api.github.com/users/madroach","html_url":"https://github.com/madroach","followers_url":"https://api.github.com/users/madroach/followers","following_url":"https://api.github.com/users/madroach/following{/other_user}","gists_url":"https://api.github.com/users/madroach/gists{/gist_id}","starred_url":"https://api.github.com/users/madroach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/madroach/subscriptions","organizations_url":"https://api.github.com/users/madroach/orgs","repos_url":"https://api.github.com/users/madroach/repos","events_url":"https://api.github.com/users/madroach/events{/privacy}","received_events_url":"https://api.github.com/users/madroach/received_events","type":"User","site_admin":false},"created_at":"2018-10-03T20:34:00Z","updated_at":"2018-10-03T20:34:00Z","author_association":"CONTRIBUTOR","body":"Hi, before I start to work on this again and resolve the merge conflicts I'd like to know whether there still is interest in this pull request and what else will need to be improved."}}
{"actor":{"display_login":"madroach"}}