{"action":"created","comment":{"url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/comments/123920431","pull_request_review_id":46166181,"id":123920431,"diff_hunk":"@@ -947,13 +964,13 @@ That last sentence may seem like a subtle point, but actually I think it might b\n 回到这个哲学理论：\n Back to this philosophical musing:\n \n-如果一棵树落在森林里，但没有人在听到它，是否依然发出声音？\n+> 如果一棵树倒在森林里，有没有声音？\n > If a tree falls in the forest, but no one is around to hear it, does it still make a sound?\n \n 通过这个暗喻，我所得到的是：无论是否产生声音，如果我们从不创建一个我们不在树的附近树倒下时我们仍然可以听声音的方案。\n Going with the metaphor, what I'm getting at is: whether the sound is made or not, it would be better if we never create a scenario where the tree can fall without us being around; we'll always hear the sound when a tree falls.\n \n-减少副作用的目的并不是他们在程序中不能被观察到，而是设计一个程序，让副作用尽可能的少，因为这使代码更容易理解。一个没有观察到的*发生*的副作用的程序在这个目标上并不像一个*不能*观察它们的程序那么有效。\n+减少副作用的目的并不是他们在程序中不能被观察到，而是设计一个程序，让副作用尽可能的少，因为这使代码更容易理解。一个没有观察到的**发生**的副作用的程序在这个目标上并不像一个**不能**观察它们的程序那么有效。\n The purpose of reducing side causes/effects is not per se to have a program where they aren't observed, but to design a program where fewer of them are possible, because this makes the code easier to reason about. A program with side causes/effects that *happen* to not be observed is not nearly as effective in this goal as a program that *cannot* observe them.\n \n 如果副作用可能发生，作者和读者必须尽量对付它们。使它们不会发生，作家和读者都会对任何部可能或不可能发生的事情都有更多的信心。","path":"ch5.md","position":null,"original_position":695,"commit_id":"c32a9983710680d2e7980691f85bd310da76b115","original_commit_id":"c32a9983710680d2e7980691f85bd310da76b115","user":{"login":"cfanlife","id":7942955,"avatar_url":"https://avatars0.githubusercontent.com/u/7942955?v=3","gravatar_id":"","url":"https://api.github.com/users/cfanlife","html_url":"https://github.com/cfanlife","followers_url":"https://api.github.com/users/cfanlife/followers","following_url":"https://api.github.com/users/cfanlife/following{/other_user}","gists_url":"https://api.github.com/users/cfanlife/gists{/gist_id}","starred_url":"https://api.github.com/users/cfanlife/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cfanlife/subscriptions","organizations_url":"https://api.github.com/users/cfanlife/orgs","repos_url":"https://api.github.com/users/cfanlife/repos","events_url":"https://api.github.com/users/cfanlife/events{/privacy}","received_events_url":"https://api.github.com/users/cfanlife/received_events","type":"User","site_admin":false},"body":"部可能 -> 不可能","created_at":"2017-06-26T02:47:59Z","updated_at":"2017-06-26T02:47:59Z","html_url":"https://github.com/sunshine940326/Functional-Light-JS/pull/1#discussion_r123920431","pull_request_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/comments/123920431"},"html":{"href":"https://github.com/sunshine940326/Functional-Light-JS/pull/1#discussion_r123920431"},"pull_request":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/1","id":124974989,"html_url":"https://github.com/sunshine940326/Functional-Light-JS/pull/1","diff_url":"https://github.com/sunshine940326/Functional-Light-JS/pull/1.diff","patch_url":"https://github.com/sunshine940326/Functional-Light-JS/pull/1.patch","issue_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues/1","number":1,"state":"open","locked":false,"title":"Create ch5.md","user":{"login":"sunshine940326","id":20368358,"avatar_url":"https://avatars3.githubusercontent.com/u/20368358?v=3","gravatar_id":"","url":"https://api.github.com/users/sunshine940326","html_url":"https://github.com/sunshine940326","followers_url":"https://api.github.com/users/sunshine940326/followers","following_url":"https://api.github.com/users/sunshine940326/following{/other_user}","gists_url":"https://api.github.com/users/sunshine940326/gists{/gist_id}","starred_url":"https://api.github.com/users/sunshine940326/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunshine940326/subscriptions","organizations_url":"https://api.github.com/users/sunshine940326/orgs","repos_url":"https://api.github.com/users/sunshine940326/repos","events_url":"https://api.github.com/users/sunshine940326/events{/privacy}","received_events_url":"https://api.github.com/users/sunshine940326/received_events","type":"User","site_admin":false},"body":"**Yes, I promise I've read the [Contributions Guidelines](https://github.com/getify/Functional-Light-JS/blob/master/CONTRIBUTING.md)** (please feel free to remove this line *IF YOU ACTUALLY READ THEM*).\r\n","created_at":"2017-06-10T02:28:53Z","updated_at":"2017-06-26T02:47:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2e2c6a6845598b43a6f2b9161fab31f3b9dc9d8c","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/1/commits","review_comments_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/1/comments","review_comment_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues/1/comments","statuses_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/statuses/c32a9983710680d2e7980691f85bd310da76b115","head":{"label":"sunshine940326:Functional-Light-JS/ch5.md","ref":"Functional-Light-JS/ch5.md","sha":"c32a9983710680d2e7980691f85bd310da76b115","user":{"login":"sunshine940326","id":20368358,"avatar_url":"https://avatars3.githubusercontent.com/u/20368358?v=3","gravatar_id":"","url":"https://api.github.com/users/sunshine940326","html_url":"https://github.com/sunshine940326","followers_url":"https://api.github.com/users/sunshine940326/followers","following_url":"https://api.github.com/users/sunshine940326/following{/other_user}","gists_url":"https://api.github.com/users/sunshine940326/gists{/gist_id}","starred_url":"https://api.github.com/users/sunshine940326/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunshine940326/subscriptions","organizations_url":"https://api.github.com/users/sunshine940326/orgs","repos_url":"https://api.github.com/users/sunshine940326/repos","events_url":"https://api.github.com/users/sunshine940326/events{/privacy}","received_events_url":"https://api.github.com/users/sunshine940326/received_events","type":"User","site_admin":false},"repo":{"id":93529117,"name":"Functional-Light-JS","full_name":"sunshine940326/Functional-Light-JS","owner":{"login":"sunshine940326","id":20368358,"avatar_url":"https://avatars3.githubusercontent.com/u/20368358?v=3","gravatar_id":"","url":"https://api.github.com/users/sunshine940326","html_url":"https://github.com/sunshine940326","followers_url":"https://api.github.com/users/sunshine940326/followers","following_url":"https://api.github.com/users/sunshine940326/following{/other_user}","gists_url":"https://api.github.com/users/sunshine940326/gists{/gist_id}","starred_url":"https://api.github.com/users/sunshine940326/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunshine940326/subscriptions","organizations_url":"https://api.github.com/users/sunshine940326/orgs","repos_url":"https://api.github.com/users/sunshine940326/repos","events_url":"https://api.github.com/users/sunshine940326/events{/privacy}","received_events_url":"https://api.github.com/users/sunshine940326/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sunshine940326/Functional-Light-JS","description":"A book about functional programming in JavaScript.","fork":true,"url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS","forks_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/forks","keys_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/teams","hooks_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/hooks","issue_events_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues/events{/number}","events_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/events","assignees_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/assignees{/user}","branches_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/branches{/branch}","tags_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/tags","blobs_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/refs{/sha}","trees_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/statuses/{sha}","languages_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/languages","stargazers_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/stargazers","contributors_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/contributors","subscribers_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/subscribers","subscription_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/subscription","commits_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/commits{/sha}","git_commits_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/commits{/sha}","comments_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/comments{/number}","issue_comment_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues/comments{/number}","contents_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/contents/{+path}","compare_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/merges","archive_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/downloads","issues_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues{/number}","pulls_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls{/number}","milestones_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/milestones{/number}","notifications_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/labels{/name}","releases_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/releases{/id}","deployments_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/deployments","created_at":"2017-06-06T14:41:46Z","updated_at":"2017-06-06T14:41:48Z","pushed_at":"2017-06-23T03:05:13Z","git_url":"git://github.com/sunshine940326/Functional-Light-JS.git","ssh_url":"git@github.com:sunshine940326/Functional-Light-JS.git","clone_url":"https://github.com/sunshine940326/Functional-Light-JS.git","svn_url":"https://github.com/sunshine940326/Functional-Light-JS","homepage":null,"size":1049,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"sunshine940326:zh-cn","ref":"zh-cn","sha":"25097e7c9d40578a6c6f92fa4ecd78834f04480a","user":{"login":"sunshine940326","id":20368358,"avatar_url":"https://avatars3.githubusercontent.com/u/20368358?v=3","gravatar_id":"","url":"https://api.github.com/users/sunshine940326","html_url":"https://github.com/sunshine940326","followers_url":"https://api.github.com/users/sunshine940326/followers","following_url":"https://api.github.com/users/sunshine940326/following{/other_user}","gists_url":"https://api.github.com/users/sunshine940326/gists{/gist_id}","starred_url":"https://api.github.com/users/sunshine940326/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunshine940326/subscriptions","organizations_url":"https://api.github.com/users/sunshine940326/orgs","repos_url":"https://api.github.com/users/sunshine940326/repos","events_url":"https://api.github.com/users/sunshine940326/events{/privacy}","received_events_url":"https://api.github.com/users/sunshine940326/received_events","type":"User","site_admin":false},"repo":{"id":93529117,"name":"Functional-Light-JS","full_name":"sunshine940326/Functional-Light-JS","owner":{"login":"sunshine940326","id":20368358,"avatar_url":"https://avatars3.githubusercontent.com/u/20368358?v=3","gravatar_id":"","url":"https://api.github.com/users/sunshine940326","html_url":"https://github.com/sunshine940326","followers_url":"https://api.github.com/users/sunshine940326/followers","following_url":"https://api.github.com/users/sunshine940326/following{/other_user}","gists_url":"https://api.github.com/users/sunshine940326/gists{/gist_id}","starred_url":"https://api.github.com/users/sunshine940326/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunshine940326/subscriptions","organizations_url":"https://api.github.com/users/sunshine940326/orgs","repos_url":"https://api.github.com/users/sunshine940326/repos","events_url":"https://api.github.com/users/sunshine940326/events{/privacy}","received_events_url":"https://api.github.com/users/sunshine940326/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sunshine940326/Functional-Light-JS","description":"A book about functional programming in JavaScript.","fork":true,"url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS","forks_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/forks","keys_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/teams","hooks_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/hooks","issue_events_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues/events{/number}","events_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/events","assignees_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/assignees{/user}","branches_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/branches{/branch}","tags_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/tags","blobs_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/refs{/sha}","trees_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/statuses/{sha}","languages_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/languages","stargazers_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/stargazers","contributors_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/contributors","subscribers_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/subscribers","subscription_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/subscription","commits_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/commits{/sha}","git_commits_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/git/commits{/sha}","comments_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/comments{/number}","issue_comment_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues/comments{/number}","contents_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/contents/{+path}","compare_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/merges","archive_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/downloads","issues_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues{/number}","pulls_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls{/number}","milestones_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/milestones{/number}","notifications_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/labels{/name}","releases_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/releases{/id}","deployments_url":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/deployments","created_at":"2017-06-06T14:41:46Z","updated_at":"2017-06-06T14:41:48Z","pushed_at":"2017-06-23T03:05:13Z","git_url":"git://github.com/sunshine940326/Functional-Light-JS.git","ssh_url":"git@github.com:sunshine940326/Functional-Light-JS.git","clone_url":"https://github.com/sunshine940326/Functional-Light-JS.git","svn_url":"https://github.com/sunshine940326/Functional-Light-JS","homepage":null,"size":1049,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/1"},"html":{"href":"https://github.com/sunshine940326/Functional-Light-JS/pull/1"},"issue":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues/1"},"comments":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/sunshine940326/Functional-Light-JS/statuses/c32a9983710680d2e7980691f85bd310da76b115"}}}}
{"actor":{"display_login":"cfanlife"}}