{"action":"created","issue":{"url":"https://api.github.com/repos/exercism/ocaml/issues/285","repository_url":"https://api.github.com/repos/exercism/ocaml","labels_url":"https://api.github.com/repos/exercism/ocaml/issues/285/labels{/name}","comments_url":"https://api.github.com/repos/exercism/ocaml/issues/285/comments","events_url":"https://api.github.com/repos/exercism/ocaml/issues/285/events","html_url":"https://github.com/exercism/ocaml/issues/285","id":368114618,"node_id":"MDU6SXNzdWUzNjgxMTQ2MTg=","number":285,"title":".ml stubs for exercises","user":{"login":"sshine","id":50879,"node_id":"MDQ6VXNlcjUwODc5","avatar_url":"https://avatars3.githubusercontent.com/u/50879?v=4","gravatar_id":"","url":"https://api.github.com/users/sshine","html_url":"https://github.com/sshine","followers_url":"https://api.github.com/users/sshine/followers","following_url":"https://api.github.com/users/sshine/following{/other_user}","gists_url":"https://api.github.com/users/sshine/gists{/gist_id}","starred_url":"https://api.github.com/users/sshine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sshine/subscriptions","organizations_url":"https://api.github.com/users/sshine/orgs","repos_url":"https://api.github.com/users/sshine/repos","events_url":"https://api.github.com/users/sshine/events{/privacy}","received_events_url":"https://api.github.com/users/sshine/received_events","type":"User","site_admin":false},"labels":[{"id":83210716,"node_id":"MDU6TGFiZWw4MzIxMDcxNg==","url":"https://api.github.com/repos/exercism/ocaml/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":829937208,"node_id":"MDU6TGFiZWw4Mjk5MzcyMDg=","url":"https://api.github.com/repos/exercism/ocaml/labels/good%20first%20issue","name":"good first issue","color":"0052cc","default":true},{"id":829937782,"node_id":"MDU6TGFiZWw4Mjk5Mzc3ODI=","url":"https://api.github.com/repos/exercism/ocaml/labels/help%20wanted","name":"help wanted","color":"b60205","default":true}],"state":"open","locked":false,"assignee":{"login":"sshine","id":50879,"node_id":"MDQ6VXNlcjUwODc5","avatar_url":"https://avatars3.githubusercontent.com/u/50879?v=4","gravatar_id":"","url":"https://api.github.com/users/sshine","html_url":"https://github.com/sshine","followers_url":"https://api.github.com/users/sshine/followers","following_url":"https://api.github.com/users/sshine/following{/other_user}","gists_url":"https://api.github.com/users/sshine/gists{/gist_id}","starred_url":"https://api.github.com/users/sshine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sshine/subscriptions","organizations_url":"https://api.github.com/users/sshine/orgs","repos_url":"https://api.github.com/users/sshine/repos","events_url":"https://api.github.com/users/sshine/events{/privacy}","received_events_url":"https://api.github.com/users/sshine/received_events","type":"User","site_admin":false},"assignees":[{"login":"sshine","id":50879,"node_id":"MDQ6VXNlcjUwODc5","avatar_url":"https://avatars3.githubusercontent.com/u/50879?v=4","gravatar_id":"","url":"https://api.github.com/users/sshine","html_url":"https://github.com/sshine","followers_url":"https://api.github.com/users/sshine/followers","following_url":"https://api.github.com/users/sshine/following{/other_user}","gists_url":"https://api.github.com/users/sshine/gists{/gist_id}","starred_url":"https://api.github.com/users/sshine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sshine/subscriptions","organizations_url":"https://api.github.com/users/sshine/orgs","repos_url":"https://api.github.com/users/sshine/repos","events_url":"https://api.github.com/users/sshine/events{/privacy}","received_events_url":"https://api.github.com/users/sshine/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2018-10-09T09:17:26Z","updated_at":"2018-12-10T08:10:23Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Some language tracks have a `{{ stub }}.ml` that the student can fill out.\r\n\r\nThe Ocaml track doesn't. Ideally, add stubs to all exercises.\r\n\r\nTo begin with, start with ones that use `Map` from Base, like the four exercises in #277.\r\n\r\nIssue spawned from this message I wrote on Slack:\r\n\r\n> I just reviewed the new version of Nucleotide Count and asked if there were any hard points, and *[the student]* said that the `(module Char)` annotations were difficult to figure out because they're not very well-documented. That was exactly the pain point that made it hard for me to convert the exercises from Core(_kernel) to Base. A solution could be to add a template .ml file with a stub in it that throws an exception. For some exercises, e.g. ones that require a data type definition repeated from the .mli, or in case of Nucleotide Count, a line like `let empty = Map.empty (module Char)`, that'd be really neat.\r\n"},"comment":{"url":"https://api.github.com/repos/exercism/ocaml/issues/comments/445726472","html_url":"https://github.com/exercism/ocaml/issues/285#issuecomment-445726472","issue_url":"https://api.github.com/repos/exercism/ocaml/issues/285","id":445726472,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NTcyNjQ3Mg==","user":{"login":"sshine","id":50879,"node_id":"MDQ6VXNlcjUwODc5","avatar_url":"https://avatars3.githubusercontent.com/u/50879?v=4","gravatar_id":"","url":"https://api.github.com/users/sshine","html_url":"https://github.com/sshine","followers_url":"https://api.github.com/users/sshine/followers","following_url":"https://api.github.com/users/sshine/following{/other_user}","gists_url":"https://api.github.com/users/sshine/gists{/gist_id}","starred_url":"https://api.github.com/users/sshine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sshine/subscriptions","organizations_url":"https://api.github.com/users/sshine/orgs","repos_url":"https://api.github.com/users/sshine/repos","events_url":"https://api.github.com/users/sshine/events{/privacy}","received_events_url":"https://api.github.com/users/sshine/received_events","type":"User","site_admin":false},"created_at":"2018-12-10T08:10:23Z","updated_at":"2018-12-10T08:10:23Z","author_association":"CONTRIBUTOR","body":"I have postponed this for nucleotide count for too long now.\r\n\r\nThanks for reminding me, @LucasMembrane."}}
{"actor":{"display_login":"sshine"}}