{"action":"created","issue":{"url":"https://api.github.com/repos/golang/go/issues/23758","repository_url":"https://api.github.com/repos/golang/go","labels_url":"https://api.github.com/repos/golang/go/issues/23758/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/23758/comments","events_url":"https://api.github.com/repos/golang/go/issues/23758/events","html_url":"https://github.com/golang/go/issues/23758","id":295872284,"number":23758,"title":"Proposal: option to lock child goroutines to same OS thread","user":{"login":"shelby3","id":247731,"avatar_url":"https://avatars3.githubusercontent.com/u/247731?v=4","gravatar_id":"","url":"https://api.github.com/users/shelby3","html_url":"https://github.com/shelby3","followers_url":"https://api.github.com/users/shelby3/followers","following_url":"https://api.github.com/users/shelby3/following{/other_user}","gists_url":"https://api.github.com/users/shelby3/gists{/gist_id}","starred_url":"https://api.github.com/users/shelby3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shelby3/subscriptions","organizations_url":"https://api.github.com/users/shelby3/orgs","repos_url":"https://api.github.com/users/shelby3/repos","events_url":"https://api.github.com/users/shelby3/events{/privacy}","received_events_url":"https://api.github.com/users/shelby3/received_events","type":"User","site_admin":false},"labels":[{"id":236419512,"url":"https://api.github.com/repos/golang/go/labels/Proposal","name":"Proposal","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/golang/go/milestones/30","html_url":"https://github.com/golang/go/milestone/30","labels_url":"https://api.github.com/repos/golang/go/milestones/30/labels","id":1373555,"number":30,"title":"Proposal","description":"Proposals that are pending (not yet accepted/rejected).\r\n","creator":{"login":"rsc","id":104030,"avatar_url":"https://avatars1.githubusercontent.com/u/104030?v=4","gravatar_id":"","url":"https://api.github.com/users/rsc","html_url":"https://github.com/rsc","followers_url":"https://api.github.com/users/rsc/followers","following_url":"https://api.github.com/users/rsc/following{/other_user}","gists_url":"https://api.github.com/users/rsc/gists{/gist_id}","starred_url":"https://api.github.com/users/rsc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsc/subscriptions","organizations_url":"https://api.github.com/users/rsc/orgs","repos_url":"https://api.github.com/users/rsc/repos","events_url":"https://api.github.com/users/rsc/events{/privacy}","received_events_url":"https://api.github.com/users/rsc/received_events","type":"User","site_admin":false},"open_issues":222,"closed_issues":357,"state":"open","created_at":"2015-10-24T01:40:49Z","updated_at":"2018-02-09T13:33:08Z","due_on":null,"closed_at":null},"comments":18,"created_at":"2018-02-09T13:33:06Z","updated_at":"2018-02-09T22:44:29Z","closed_at":null,"author_association":"NONE","body":"I [responded](https://stackoverflow.com/questions/30646391/does-runtime-lockosthread-allow-child-goroutines-to-run-in-same-os-thread#comment83771585_30646391) in a comment to a Stackoverflow question [_Does runtime.LockOSThread allow child goroutines to run in same OS thread?_](https://stackoverflow.com/questions/30646391/does-runtime-lockosthread-allow-child-goroutines-to-run-in-same-os-thread) about unavailability of this feature:\r\n\r\n> Even though it’s not currently supported, it has [been proposed](https://groups.google.com/d/msg/golang-dev/HJcGESXfJfs/X-SBuDkcBwAJ) for a new optional capability. And I have proposed [other use cases](https://stackoverflow.com/questions/1880262/forcing-goroutines-into-the-same-thread#comment83771359_1928637).\r\n\r\nI became motivated to propose this here when [I realized](https://groups.google.com/d/msg/golang-dev/HJcGESXfJfs/TjJUOsPPCAAJ) a very [important style of programming that can’t be done](https://github.com/keean/zenscript/issues/17#issuecomment-364370599) without adding this capability.\r\n\r\nI searched for other issue threads and the somewhat related ones found:\r\n\r\nhttps://github.com/golang/go/issues/4056\r\nhttps://github.com/golang/go/issues/21827\r\nhttps://github.com/golang/go/issues/12462\r\n\r\nSeems perhaps the last one #12462 could be addressed with this proposal?\r\n\r\nHow does the community feel about this proposal? Would it likely be accepted into the mainline if someone did the work?\r\n\r\nEDIT: please read my follow-up post, wherein I explain this really isn’t about supporting FRP, yet more fundamentally about optimal event handling (in any programming paradigm) in the UI thread and lockless concurrency design. I don’t wish for readers to misinterpret this proposal as an attempt to turn Go into Haskell (I know Go’s target audience would be turned off by that). That’s not the point."},"comment":{"url":"https://api.github.com/repos/golang/go/issues/comments/364590997","html_url":"https://github.com/golang/go/issues/23758#issuecomment-364590997","issue_url":"https://api.github.com/repos/golang/go/issues/23758","id":364590997,"user":{"login":"ianlancetaylor","id":3194333,"avatar_url":"https://avatars2.githubusercontent.com/u/3194333?v=4","gravatar_id":"","url":"https://api.github.com/users/ianlancetaylor","html_url":"https://github.com/ianlancetaylor","followers_url":"https://api.github.com/users/ianlancetaylor/followers","following_url":"https://api.github.com/users/ianlancetaylor/following{/other_user}","gists_url":"https://api.github.com/users/ianlancetaylor/gists{/gist_id}","starred_url":"https://api.github.com/users/ianlancetaylor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianlancetaylor/subscriptions","organizations_url":"https://api.github.com/users/ianlancetaylor/orgs","repos_url":"https://api.github.com/users/ianlancetaylor/repos","events_url":"https://api.github.com/users/ianlancetaylor/events{/privacy}","received_events_url":"https://api.github.com/users/ianlancetaylor/received_events","type":"User","site_admin":false},"created_at":"2018-02-09T22:44:29Z","updated_at":"2018-02-09T22:44:29Z","author_association":"CONTRIBUTOR","body":"This issue tracker is governed by the Go code of conduct, which you can read at https://golang.org/conduct.  Some of the comments here do not follow those guidelines.  Please take a breath and keep it civil.  Thanks."}}
{"actor":{"display_login":"ianlancetaylor"}}