{"action":"created","comment":{"url":"https://api.github.com/repos/stedolan/crowbar/pulls/comments/156359894","pull_request_review_id":82822806,"id":156359894,"diff_hunk":"@@ -1,52 +1,128 @@\n-type state\n-\n-type 'a printer = Format.formatter -> 'a -> unit\n+(** {1:top Types } *)\n \n type 'a gen\n+(** ['a gen] knows how to generate ['a] for use in Crowbar tests. *)\n \n type ('k, 'res) gens =\n   | [] : ('res, 'res) gens\n   | (::) : 'a gen * ('k, 'res) gens -> ('a -> 'k, 'res) gens\n+(** multiple generators are provided to functions using a listlike syntax.\n+    for example, [map [int; int] (fun a b -> a + b)] *)\n+\n+type 'a printer = Format.formatter -> 'a -> unit\n+(** pretty-printers for items generated by Crowbar; useful for the user in\n+    translating test failures into bugfixes. *)\n+\n+(**/**)\n (* re-export stdlib's list\n    We only want to override [] syntax in the argument to Map *)\n type nonrec +'a list = 'a list = [] | (::) of 'a * 'a list\n+(**/**)\n+\n+(** {1:generators Generators } *)\n+\n+(** {2:simple_generators Simple Generators } *)\n+\n+val int : int gen\n+(** [int] generates an integer.  For 32-bit systems, it will generate an\n+    Int32.t; otherwise, it will generate an Int64.t .  If you need integers from\n+    a smaller domain, consider using {!range}. *)\n+\n+val uint8 : int gen\n+(** [uint8] generates an unsigned byte, ranging from 0 to 255 inclusive. *)\n+\n+val int8 : int gen\n+(** [int8] generates a signed byte, ranging from -128 to 127 inclusive. *)\n+\n+val int32 : Int32.t gen\n+(** [int32] generates a 32-bit signed integer. *)\n+\n+val int64 : Int64.t gen\n+(** [int64] generates a 64-bit signed integer. *)\n+\n+val float : float gen\n+(** [float] generates a double-precision floating-point number. *)\n+\n+val bytes : string gen\n+(** [bytes] generates a string of arbitrary length (including zero-length strings).  *)\n+\n+val bool : bool gen\n+(** [bool] generates a yes or no answer. *)\n+\n+val range : int -> int gen\n+(** [range n] is a generator for integers between 0 (inclusive) and [n] (exclusive). *)","path":"src/crowbar.mli","position":56,"original_position":56,"commit_id":"383f45d4d99869b23129f8a98d35590407a07748","original_commit_id":"383f45d4d99869b23129f8a98d35590407a07748","user":{"login":"stedolan","id":79765,"avatar_url":"https://avatars3.githubusercontent.com/u/79765?v=4","gravatar_id":"","url":"https://api.github.com/users/stedolan","html_url":"https://github.com/stedolan","followers_url":"https://api.github.com/users/stedolan/followers","following_url":"https://api.github.com/users/stedolan/following{/other_user}","gists_url":"https://api.github.com/users/stedolan/gists{/gist_id}","starred_url":"https://api.github.com/users/stedolan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stedolan/subscriptions","organizations_url":"https://api.github.com/users/stedolan/orgs","repos_url":"https://api.github.com/users/stedolan/repos","events_url":"https://api.github.com/users/stedolan/events{/privacy}","received_events_url":"https://api.github.com/users/stedolan/received_events","type":"User","site_admin":false},"body":"range now does what I'd like the docs to say it does (3f6d2b33d9fd562e81d3ed9c9274835f5274f0a2) ","created_at":"2017-12-12T13:07:15Z","updated_at":"2017-12-12T13:07:15Z","html_url":"https://github.com/stedolan/crowbar/pull/25#discussion_r156359894","pull_request_url":"https://api.github.com/repos/stedolan/crowbar/pulls/25","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/stedolan/crowbar/pulls/comments/156359894"},"html":{"href":"https://github.com/stedolan/crowbar/pull/25#discussion_r156359894"},"pull_request":{"href":"https://api.github.com/repos/stedolan/crowbar/pulls/25"}},"in_reply_to_id":156329883},"pull_request":{"url":"https://api.github.com/repos/stedolan/crowbar/pulls/25","id":157714115,"html_url":"https://github.com/stedolan/crowbar/pull/25","diff_url":"https://github.com/stedolan/crowbar/pull/25.diff","patch_url":"https://github.com/stedolan/crowbar/pull/25.patch","issue_url":"https://api.github.com/repos/stedolan/crowbar/issues/25","number":25,"state":"open","locked":false,"title":"add lots of docstrings; don't expose `state`","user":{"login":"yomimono","id":4086825,"avatar_url":"https://avatars2.githubusercontent.com/u/4086825?v=4","gravatar_id":"","url":"https://api.github.com/users/yomimono","html_url":"https://github.com/yomimono","followers_url":"https://api.github.com/users/yomimono/followers","following_url":"https://api.github.com/users/yomimono/following{/other_user}","gists_url":"https://api.github.com/users/yomimono/gists{/gist_id}","starred_url":"https://api.github.com/users/yomimono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yomimono/subscriptions","organizations_url":"https://api.github.com/users/yomimono/orgs","repos_url":"https://api.github.com/users/yomimono/repos","events_url":"https://api.github.com/users/yomimono/events{/privacy}","received_events_url":"https://api.github.com/users/yomimono/received_events","type":"User","site_admin":false},"body":"Comments and suggestions are extremely welcome.","created_at":"2017-12-12T01:19:55Z","updated_at":"2017-12-12T13:07:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"993e9ea1d2c04543933f6abdbc4d70f8bb02d706","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/stedolan/crowbar/pulls/25/commits","review_comments_url":"https://api.github.com/repos/stedolan/crowbar/pulls/25/comments","review_comment_url":"https://api.github.com/repos/stedolan/crowbar/pulls/comments{/number}","comments_url":"https://api.github.com/repos/stedolan/crowbar/issues/25/comments","statuses_url":"https://api.github.com/repos/stedolan/crowbar/statuses/383f45d4d99869b23129f8a98d35590407a07748","head":{"label":"yomimono:write-moar-readme","ref":"write-moar-readme","sha":"383f45d4d99869b23129f8a98d35590407a07748","user":{"login":"yomimono","id":4086825,"avatar_url":"https://avatars2.githubusercontent.com/u/4086825?v=4","gravatar_id":"","url":"https://api.github.com/users/yomimono","html_url":"https://github.com/yomimono","followers_url":"https://api.github.com/users/yomimono/followers","following_url":"https://api.github.com/users/yomimono/following{/other_user}","gists_url":"https://api.github.com/users/yomimono/gists{/gist_id}","starred_url":"https://api.github.com/users/yomimono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yomimono/subscriptions","organizations_url":"https://api.github.com/users/yomimono/orgs","repos_url":"https://api.github.com/users/yomimono/repos","events_url":"https://api.github.com/users/yomimono/events{/privacy}","received_events_url":"https://api.github.com/users/yomimono/received_events","type":"User","site_admin":false},"repo":{"id":89412846,"name":"crowbar","full_name":"yomimono/crowbar","owner":{"login":"yomimono","id":4086825,"avatar_url":"https://avatars2.githubusercontent.com/u/4086825?v=4","gravatar_id":"","url":"https://api.github.com/users/yomimono","html_url":"https://github.com/yomimono","followers_url":"https://api.github.com/users/yomimono/followers","following_url":"https://api.github.com/users/yomimono/following{/other_user}","gists_url":"https://api.github.com/users/yomimono/gists{/gist_id}","starred_url":"https://api.github.com/users/yomimono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yomimono/subscriptions","organizations_url":"https://api.github.com/users/yomimono/orgs","repos_url":"https://api.github.com/users/yomimono/repos","events_url":"https://api.github.com/users/yomimono/events{/privacy}","received_events_url":"https://api.github.com/users/yomimono/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/yomimono/crowbar","description":"Property fuzzing for OCaml","fork":true,"url":"https://api.github.com/repos/yomimono/crowbar","forks_url":"https://api.github.com/repos/yomimono/crowbar/forks","keys_url":"https://api.github.com/repos/yomimono/crowbar/keys{/key_id}","collaborators_url":"https://api.github.com/repos/yomimono/crowbar/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/yomimono/crowbar/teams","hooks_url":"https://api.github.com/repos/yomimono/crowbar/hooks","issue_events_url":"https://api.github.com/repos/yomimono/crowbar/issues/events{/number}","events_url":"https://api.github.com/repos/yomimono/crowbar/events","assignees_url":"https://api.github.com/repos/yomimono/crowbar/assignees{/user}","branches_url":"https://api.github.com/repos/yomimono/crowbar/branches{/branch}","tags_url":"https://api.github.com/repos/yomimono/crowbar/tags","blobs_url":"https://api.github.com/repos/yomimono/crowbar/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/yomimono/crowbar/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/yomimono/crowbar/git/refs{/sha}","trees_url":"https://api.github.com/repos/yomimono/crowbar/git/trees{/sha}","statuses_url":"https://api.github.com/repos/yomimono/crowbar/statuses/{sha}","languages_url":"https://api.github.com/repos/yomimono/crowbar/languages","stargazers_url":"https://api.github.com/repos/yomimono/crowbar/stargazers","contributors_url":"https://api.github.com/repos/yomimono/crowbar/contributors","subscribers_url":"https://api.github.com/repos/yomimono/crowbar/subscribers","subscription_url":"https://api.github.com/repos/yomimono/crowbar/subscription","commits_url":"https://api.github.com/repos/yomimono/crowbar/commits{/sha}","git_commits_url":"https://api.github.com/repos/yomimono/crowbar/git/commits{/sha}","comments_url":"https://api.github.com/repos/yomimono/crowbar/comments{/number}","issue_comment_url":"https://api.github.com/repos/yomimono/crowbar/issues/comments{/number}","contents_url":"https://api.github.com/repos/yomimono/crowbar/contents/{+path}","compare_url":"https://api.github.com/repos/yomimono/crowbar/compare/{base}...{head}","merges_url":"https://api.github.com/repos/yomimono/crowbar/merges","archive_url":"https://api.github.com/repos/yomimono/crowbar/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/yomimono/crowbar/downloads","issues_url":"https://api.github.com/repos/yomimono/crowbar/issues{/number}","pulls_url":"https://api.github.com/repos/yomimono/crowbar/pulls{/number}","milestones_url":"https://api.github.com/repos/yomimono/crowbar/milestones{/number}","notifications_url":"https://api.github.com/repos/yomimono/crowbar/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/yomimono/crowbar/labels{/name}","releases_url":"https://api.github.com/repos/yomimono/crowbar/releases{/id}","deployments_url":"https://api.github.com/repos/yomimono/crowbar/deployments","created_at":"2017-04-25T22:33:05Z","updated_at":"2017-04-25T22:33:07Z","pushed_at":"2017-12-12T02:53:51Z","git_url":"git://github.com/yomimono/crowbar.git","ssh_url":"git@github.com:yomimono/crowbar.git","clone_url":"https://github.com/yomimono/crowbar.git","svn_url":"https://github.com/yomimono/crowbar","homepage":null,"size":51,"stargazers_count":0,"watchers_count":0,"language":"OCaml","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"stedolan:master","ref":"master","sha":"df526ba891fe6f2afaf8f83ffe0858fc54f78719","user":{"login":"stedolan","id":79765,"avatar_url":"https://avatars3.githubusercontent.com/u/79765?v=4","gravatar_id":"","url":"https://api.github.com/users/stedolan","html_url":"https://github.com/stedolan","followers_url":"https://api.github.com/users/stedolan/followers","following_url":"https://api.github.com/users/stedolan/following{/other_user}","gists_url":"https://api.github.com/users/stedolan/gists{/gist_id}","starred_url":"https://api.github.com/users/stedolan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stedolan/subscriptions","organizations_url":"https://api.github.com/users/stedolan/orgs","repos_url":"https://api.github.com/users/stedolan/repos","events_url":"https://api.github.com/users/stedolan/events{/privacy}","received_events_url":"https://api.github.com/users/stedolan/received_events","type":"User","site_admin":false},"repo":{"id":85311007,"name":"crowbar","full_name":"stedolan/crowbar","owner":{"login":"stedolan","id":79765,"avatar_url":"https://avatars3.githubusercontent.com/u/79765?v=4","gravatar_id":"","url":"https://api.github.com/users/stedolan","html_url":"https://github.com/stedolan","followers_url":"https://api.github.com/users/stedolan/followers","following_url":"https://api.github.com/users/stedolan/following{/other_user}","gists_url":"https://api.github.com/users/stedolan/gists{/gist_id}","starred_url":"https://api.github.com/users/stedolan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stedolan/subscriptions","organizations_url":"https://api.github.com/users/stedolan/orgs","repos_url":"https://api.github.com/users/stedolan/repos","events_url":"https://api.github.com/users/stedolan/events{/privacy}","received_events_url":"https://api.github.com/users/stedolan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/stedolan/crowbar","description":"Property fuzzing for OCaml","fork":false,"url":"https://api.github.com/repos/stedolan/crowbar","forks_url":"https://api.github.com/repos/stedolan/crowbar/forks","keys_url":"https://api.github.com/repos/stedolan/crowbar/keys{/key_id}","collaborators_url":"https://api.github.com/repos/stedolan/crowbar/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/stedolan/crowbar/teams","hooks_url":"https://api.github.com/repos/stedolan/crowbar/hooks","issue_events_url":"https://api.github.com/repos/stedolan/crowbar/issues/events{/number}","events_url":"https://api.github.com/repos/stedolan/crowbar/events","assignees_url":"https://api.github.com/repos/stedolan/crowbar/assignees{/user}","branches_url":"https://api.github.com/repos/stedolan/crowbar/branches{/branch}","tags_url":"https://api.github.com/repos/stedolan/crowbar/tags","blobs_url":"https://api.github.com/repos/stedolan/crowbar/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/stedolan/crowbar/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/stedolan/crowbar/git/refs{/sha}","trees_url":"https://api.github.com/repos/stedolan/crowbar/git/trees{/sha}","statuses_url":"https://api.github.com/repos/stedolan/crowbar/statuses/{sha}","languages_url":"https://api.github.com/repos/stedolan/crowbar/languages","stargazers_url":"https://api.github.com/repos/stedolan/crowbar/stargazers","contributors_url":"https://api.github.com/repos/stedolan/crowbar/contributors","subscribers_url":"https://api.github.com/repos/stedolan/crowbar/subscribers","subscription_url":"https://api.github.com/repos/stedolan/crowbar/subscription","commits_url":"https://api.github.com/repos/stedolan/crowbar/commits{/sha}","git_commits_url":"https://api.github.com/repos/stedolan/crowbar/git/commits{/sha}","comments_url":"https://api.github.com/repos/stedolan/crowbar/comments{/number}","issue_comment_url":"https://api.github.com/repos/stedolan/crowbar/issues/comments{/number}","contents_url":"https://api.github.com/repos/stedolan/crowbar/contents/{+path}","compare_url":"https://api.github.com/repos/stedolan/crowbar/compare/{base}...{head}","merges_url":"https://api.github.com/repos/stedolan/crowbar/merges","archive_url":"https://api.github.com/repos/stedolan/crowbar/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/stedolan/crowbar/downloads","issues_url":"https://api.github.com/repos/stedolan/crowbar/issues{/number}","pulls_url":"https://api.github.com/repos/stedolan/crowbar/pulls{/number}","milestones_url":"https://api.github.com/repos/stedolan/crowbar/milestones{/number}","notifications_url":"https://api.github.com/repos/stedolan/crowbar/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/stedolan/crowbar/labels{/name}","releases_url":"https://api.github.com/repos/stedolan/crowbar/releases{/id}","deployments_url":"https://api.github.com/repos/stedolan/crowbar/deployments","created_at":"2017-03-17T12:48:49Z","updated_at":"2017-11-21T01:56:35Z","pushed_at":"2017-12-12T13:05:59Z","git_url":"git://github.com/stedolan/crowbar.git","ssh_url":"git@github.com:stedolan/crowbar.git","clone_url":"https://github.com/stedolan/crowbar.git","svn_url":"https://github.com/stedolan/crowbar","homepage":null,"size":76,"stargazers_count":44,"watchers_count":44,"language":"OCaml","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":7,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":3,"open_issues":7,"watchers":44,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/stedolan/crowbar/pulls/25"},"html":{"href":"https://github.com/stedolan/crowbar/pull/25"},"issue":{"href":"https://api.github.com/repos/stedolan/crowbar/issues/25"},"comments":{"href":"https://api.github.com/repos/stedolan/crowbar/issues/25/comments"},"review_comments":{"href":"https://api.github.com/repos/stedolan/crowbar/pulls/25/comments"},"review_comment":{"href":"https://api.github.com/repos/stedolan/crowbar/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/stedolan/crowbar/pulls/25/commits"},"statuses":{"href":"https://api.github.com/repos/stedolan/crowbar/statuses/383f45d4d99869b23129f8a98d35590407a07748"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"stedolan"}}