{"action":"created","issue":{"url":"https://api.github.com/repos/haskell-foundation/foundation/issues/266","repository_url":"https://api.github.com/repos/haskell-foundation/foundation","labels_url":"https://api.github.com/repos/haskell-foundation/foundation/issues/266/labels{/name}","comments_url":"https://api.github.com/repos/haskell-foundation/foundation/issues/266/comments","events_url":"https://api.github.com/repos/haskell-foundation/foundation/issues/266/events","html_url":"https://github.com/haskell-foundation/foundation/pull/266","id":224753476,"number":266,"title":"Block & MutableBlock","user":{"login":"vincenthz","id":174631,"avatar_url":"https://avatars1.githubusercontent.com/u/174631?v=3","gravatar_id":"","url":"https://api.github.com/users/vincenthz","html_url":"https://github.com/vincenthz","followers_url":"https://api.github.com/users/vincenthz/followers","following_url":"https://api.github.com/users/vincenthz/following{/other_user}","gists_url":"https://api.github.com/users/vincenthz/gists{/gist_id}","starred_url":"https://api.github.com/users/vincenthz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincenthz/subscriptions","organizations_url":"https://api.github.com/users/vincenthz/orgs","repos_url":"https://api.github.com/users/vincenthz/repos","events_url":"https://api.github.com/users/vincenthz/events{/privacy}","received_events_url":"https://api.github.com/users/vincenthz/received_events","type":"User","site_admin":false},"labels":[{"id":434181109,"url":"https://api.github.com/repos/haskell-foundation/foundation/labels/class:collection","name":"class:collection","color":"d4c5f9","default":false},{"id":372458471,"url":"https://api.github.com/repos/haskell-foundation/foundation/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":434149286,"url":"https://api.github.com/repos/haskell-foundation/foundation/labels/type:array","name":"type:array","color":"bfdadc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-04-27T11:25:44Z","updated_at":"2017-04-27T12:20:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/haskell-foundation/foundation/pulls/266","html_url":"https://github.com/haskell-foundation/foundation/pull/266","diff_url":"https://github.com/haskell-foundation/foundation/pull/266.diff","patch_url":"https://github.com/haskell-foundation/foundation/pull/266.patch"},"body":"This is a leaner version of `UArray` which only works on top of the `Bytearray#` and doesn't have any slicing ability (no builtin size/offset). It's also not C friendly by default.\r\n\r\nPeople shouldn't be using this generally but in certain case, using a Block inside a data structure to represent some binary data have significant advantages:\r\n\r\n* No meta data: saving ~20 bytes or so compared to a `UArray`.\r\n* No \"part\" sharing: if you set a field of a data structure to some `UArray`, specially after a take/drop, you're still holding on to the bigger UArray. so \"having a Block\" is more straightforward in memory tracking.\r\n* Unpackable in a parent: since it doesn't have a sum type like UArray\r\n\r\npossibly this could bring some further cleanup & refactoring in `UArray`"},"comment":{"url":"https://api.github.com/repos/haskell-foundation/foundation/issues/comments/297697654","html_url":"https://github.com/haskell-foundation/foundation/pull/266#issuecomment-297697654","issue_url":"https://api.github.com/repos/haskell-foundation/foundation/issues/266","id":297697654,"user":{"login":"ndmitchell","id":1651197,"avatar_url":"https://avatars2.githubusercontent.com/u/1651197?v=3","gravatar_id":"","url":"https://api.github.com/users/ndmitchell","html_url":"https://github.com/ndmitchell","followers_url":"https://api.github.com/users/ndmitchell/followers","following_url":"https://api.github.com/users/ndmitchell/following{/other_user}","gists_url":"https://api.github.com/users/ndmitchell/gists{/gist_id}","starred_url":"https://api.github.com/users/ndmitchell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ndmitchell/subscriptions","organizations_url":"https://api.github.com/users/ndmitchell/orgs","repos_url":"https://api.github.com/users/ndmitchell/repos","events_url":"https://api.github.com/users/ndmitchell/events{/privacy}","received_events_url":"https://api.github.com/users/ndmitchell/received_events","type":"User","site_admin":false},"created_at":"2017-04-27T12:20:54Z","updated_at":"2017-04-27T12:20:54Z","body":"Do you intend to use Block in UVecBA?"}}
{"actor":{"display_login":"ndmitchell"}}