{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":432719705,"defaultBranch":"master","name":"bytestring","ownerLogin":"clyring","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-11-28T13:26:37.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/12776503?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721501828.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"d428f14460f787e31e71cf320d711069703402cd","ref":"refs/heads/update-cirrus-ci-2024-07","pushedAt":"2024-07-20T18:57:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Bump versions in .cirrus.yml\n\n...with the hope of un-breaking CI.","shortMessageHtmlLink":"Bump versions in .cirrus.yml"}},{"before":"921d0e4d9474c1e837cb72097e0c7f777aa48da7","after":"66c92a142f789b4485413c619f45db3d52b9556d","ref":"refs/heads/excessive-builder-continuation-strictness","pushedAt":"2024-07-18T00:06:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Add Note [byteStringCopyStep and wrappedBytesCopyStep]\n\nThis makes explicit the reasoning for in what sense\n\"ensur[ing] that the common case is not recursive\" is expected to\npossibly \"yield[] better code.\"","shortMessageHtmlLink":"Add Note [byteStringCopyStep and wrappedBytesCopyStep]"}},{"before":null,"after":"608c4f48e606812c9e7a2cd19d4135aa85e11750","ref":"refs/heads/drop-ghc-8.2","pushedAt":"2024-06-07T18:58:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Remove support for ghc < 8.4\n\nAlong the way:\n\n * Obseleted CPP and compatibility workarounds were removed\n * Most remaining CPP conditions are moved into\n bytestring-cpp-macros.h and given specific feature names\n * Most imports from ghc-prim are replaced with equivalent\n imports from base\n * Data.ByteString.Builder.RealFloat.Internal is left untouched,\n to avoid unnecessary conflicts","shortMessageHtmlLink":"Remove support for ghc < 8.4"}},{"before":null,"after":"946e5171b2f5318bb15353560c9077db268aa7af","ref":"refs/heads/update-cirrus-ci-2024-06","pushedAt":"2024-06-05T20:30:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Bump FreeBSD version in .cirrus.yml\n\n...with the hope of un-breaking CI","shortMessageHtmlLink":"Bump FreeBSD version in .cirrus.yml"}},{"before":null,"after":"818d2f09808c81b4fdf4e1f12d34692c730c0d92","ref":"refs/heads/builder-bench-improvements","pushedAt":"2024-06-05T18:03:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Update \"since\" markers for new NFData instances","shortMessageHtmlLink":"Update \"since\" markers for new NFData instances"}},{"before":null,"after":"921d0e4d9474c1e837cb72097e0c7f777aa48da7","ref":"refs/heads/excessive-builder-continuation-strictness","pushedAt":"2024-04-11T02:47:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Fix several bugs around the 'byteString' family of Builders","shortMessageHtmlLink":"Fix several bugs around the 'byteString' family of Builders"}},{"before":"5a5d3de0808efd9453e0b12821a0e09efd480126","after":"c90eecb314bdca5656ffbceb2762afd10b1caf77","ref":"refs/heads/bump-actions-checkout-v4","pushedAt":"2024-04-09T22:45:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Keep old actions/checkout versions in containerized jobs","shortMessageHtmlLink":"Keep old actions/checkout versions in containerized jobs"}},{"before":null,"after":"5a5d3de0808efd9453e0b12821a0e09efd480126","ref":"refs/heads/bump-actions-checkout-v4","pushedAt":"2024-04-09T22:20:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Bump actions/checkout to v4 in CI","shortMessageHtmlLink":"Bump actions/checkout to v4 in CI"}},{"before":"946d346145430d30e8e32ca114ccb1f7038986dd","after":"b378a3fa5e000b260fa7c3655eb1e801a290d2b0","ref":"refs/heads/default-extensions","pushedAt":"2024-04-09T21:36:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Use Haskell2010 in emulated jobs, too","shortMessageHtmlLink":"Use Haskell2010 in emulated jobs, too"}},{"before":"4bdc2a5a08fcdd3c827ace38aec23adc1b8cac26","after":"946d346145430d30e8e32ca114ccb1f7038986dd","ref":"refs/heads/default-extensions","pushedAt":"2024-04-09T21:34:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Fix ghc invocation in emulated CI jobs","shortMessageHtmlLink":"Fix ghc invocation in emulated CI jobs"}},{"before":null,"after":"4bdc2a5a08fcdd3c827ace38aec23adc1b8cac26","ref":"refs/heads/default-extensions","pushedAt":"2024-04-09T21:04:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Use default-extensions to tidy up a bit","shortMessageHtmlLink":"Use default-extensions to tidy up a bit"}},{"before":"90b8197bf0b4d1864ce53b05c05af287dd03c411","after":"c8e18d672ad402813f8781c4acf4763b713494bf","ref":"refs/heads/lazier-zipWith","pushedAt":"2024-04-02T20:04:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Lazy.zipWith: evaluate the 'unsafeHead' calls eagerly","shortMessageHtmlLink":"Lazy.zipWith: evaluate the 'unsafeHead' calls eagerly"}},{"before":null,"after":"90b8197bf0b4d1864ce53b05c05af287dd03c411","ref":"refs/heads/lazier-zipWith","pushedAt":"2024-03-31T03:30:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Make D.B.Lazy.zipWith properly lazy\n\nAs a bonus, the new code is easier to read and doesn't trigger\na spurious incomplete-pattern-match warning. (Or finding the\nbug can be seen as a bonus for cleaning up that messy code.)\n\nFixes #667.","shortMessageHtmlLink":"Make D.B.Lazy.zipWith properly lazy"}},{"before":"cd6dea7228f6b10a75fd09bbdd0708ecf7edac87","after":"ef2272a4716fa19e2b322d489724a3ebfc4c8f08","ref":"refs/heads/changelog-0.12.1.0","pushedAt":"2024-02-15T19:49:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Add hidden entry for #660","shortMessageHtmlLink":"Add hidden entry for haskell#660"}},{"before":"f8544e5813b9b8a1587d8162960ecb8739b22079","after":"cd6dea7228f6b10a75fd09bbdd0708ecf7edac87","ref":"refs/heads/changelog-0.12.1.0","pushedAt":"2024-02-15T17:43:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Mention `pure-haskell` flag in Changelog.md","shortMessageHtmlLink":"Mention pure-haskell flag in Changelog.md"}},{"before":"3e220052bb1f98ea574f7a362b98bf96fdc01f7e","after":"f8544e5813b9b8a1587d8162960ecb8739b22079","ref":"refs/heads/changelog-0.12.1.0","pushedAt":"2024-02-15T17:17:59.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"More changelog updates","shortMessageHtmlLink":"More changelog updates"}},{"before":"5f9c1441cc298cffbc05050c6e356c221bf4f6b8","after":"747324f63b7c9ecb910d0e7899181604ea3ad3a6","ref":"refs/heads/really-no-ffi","pushedAt":"2024-02-15T02:54:59.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Eliminate unused-import warning","shortMessageHtmlLink":"Eliminate unused-import warning"}},{"before":null,"after":"375d834783ca58b71f8ea411b0ed34a853ee392d","ref":"refs/heads/toStrict-dead-code2","pushedAt":"2024-02-15T02:42:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Remove another dead branch from toStrict\n\nLooking at a test coverage report brought it to my attention.","shortMessageHtmlLink":"Remove another dead branch from toStrict"}},{"before":null,"after":"3aee4726b287684e0ff2182462e6e8f1529df175","ref":"refs/heads/fix-fromShortIO","pushedAt":"2024-02-14T23:31:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Use `BS.unsafeCreateFp` in `fromShort`\n\nThis ensures that the result of `fromShort` is properly\nprotected by a call to `mkDeferredByteString`.","shortMessageHtmlLink":"Use BS.unsafeCreateFp in fromShort"}},{"before":null,"after":"11607987d6c1c980a002239de18dafadc172273e","ref":"refs/heads/fix-types--sbs-elem-index","pushedAt":"2024-02-14T23:04:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Fix known type mismatch in sbs_elem_index\n\nSee #653. A complete audit has not been done,\nbut let's just fix the known bug anyway.","shortMessageHtmlLink":"Fix known type mismatch in sbs_elem_index"}},{"before":null,"after":"5f9c1441cc298cffbc05050c6e356c221bf4f6b8","ref":"refs/heads/really-no-ffi","pushedAt":"2024-02-14T22:36:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Remove remaining uses of FFI under -fpure-haskell\n\nAll of these were standard C functions that GHC's JS backend\nactually somewhat supports; their shims can be found in the\ncompiler source at \"rts/js/mem.js\". But it seems simpler to\njust get rid of all FFI uses with -fpure-haskell rather than\ntry to keep track of which functions GHC supports.\n\nThe pure Haskell implementation of memcmp runs about 6-7x as fast\nas the simple one-byte-at-a-time implementation for long equal\nbuffers, which makes it... about the same speed as the\npre-existing shim, even though the latter is also a one-byte-\nat-a-time implementation!\n\nApparently GHC's JS backend is not yet able to produce efficient\ncode for tight loops like these yet; the biggest problem is that\nit does not perform any loopification so each iteration must go\nthrough a generic-call indirection.\n\nUnfortunately that means that this patch probably makes 'strlen'\nand 'memchr' much slower with the JS backend.","shortMessageHtmlLink":"Remove remaining uses of FFI under -fpure-haskell"}},{"before":null,"after":"7e879110e1c5bcfce6eaeac499751002ee68b878","ref":"refs/heads/byte-order-cpp","pushedAt":"2024-02-14T22:29:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Move all endianness/byte-order CPP into one module","shortMessageHtmlLink":"Move all endianness/byte-order CPP into one module"}},{"before":"ddf381a245a4d3a87f491c0a2feccb92dbc5ae2f","after":"3e220052bb1f98ea574f7a362b98bf96fdc01f7e","ref":"refs/heads/changelog-0.12.1.0","pushedAt":"2024-02-07T17:12:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"fiddle with CI","shortMessageHtmlLink":"fiddle with CI"}},{"before":"d57819275f210aa5cafb68f9991cab0b99f719c2","after":null,"ref":"refs/heads/ci-fiddling-2024-02","pushedAt":"2024-02-07T17:09:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"}},{"before":null,"after":"d57819275f210aa5cafb68f9991cab0b99f719c2","ref":"refs/heads/ci-fiddling-2024-02","pushedAt":"2024-02-07T17:07:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Update ci.yml","shortMessageHtmlLink":"Update ci.yml"}},{"before":"cb6017c7536178efaf577ee5f624f24bd55717dd","after":"2bbc97ead2580f98a13940db5e9e527c4a229822","ref":"refs/heads/master","pushedAt":"2024-02-07T16:05:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Data.ByteString.Lazy.dropEnd: Use two-pointers technique (#629)\n\n* Data.ByteString.Lazy.dropEnd: Use two-pointers technique\r\n\r\nThis can be seen as using the input itself as an implicit\r\nqueue; we formerly copied its chunks into an explicit queue.\r\n\r\nBy writing the key logic as a polymorphic `splitAtEndFold`,\r\nit was easy to re-use it for `takeEnd`; the latter function\r\nshould now operate in constant stack space and can release\r\ninitial chunks of a very long input string sooner.\r\n\r\n* Fix a very silly bug, and strengthen tests\r\n\r\n...so that a plain 'cabal test' finds the bug almost every try\r\ninstead of finding it only every few dozen tries\r\n\r\n* Actually work around the poison instance\r\n\r\n(Some re-compilation check somewhere set a trap for me.)\r\n\r\nThis also replaces fromIntegral with intToIndexTy in a few places.\r\n\r\n* Rewrite the poison instance using TypeError\r\n\r\n* Rename \"bsL\" -> \"toSplit\" and \"bsR\" -> \"toScan\"\r\n\r\n* Add basic benchmarks for lazy takeEnd/splitEnd\r\n\r\nAccording to these benchmarks, the new implementation for takeEnd\r\nis somewhat faster and the new implementation for dropEnd is roughly\r\n3.5x to 4x as quick as its predecessor.","shortMessageHtmlLink":"Data.ByteString.Lazy.dropEnd: Use two-pointers technique (haskell#629)"}},{"before":null,"after":"ddf381a245a4d3a87f491c0a2feccb92dbc5ae2f","ref":"refs/heads/changelog-0.12.1.0","pushedAt":"2024-02-06T23:01:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"WIP: Prepare changelog for 0.12.1.0","shortMessageHtmlLink":"WIP: Prepare changelog for 0.12.1.0"}},{"before":"0ced8075deb5d1258b507a1f77fc4ae1c6e61358","after":"071a06218aff0623aaa417c1b889b359dea8c91f","ref":"refs/heads/no-deque","pushedAt":"2024-02-04T14:07:24.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Merge commit 'df039bd80fa61745' into no-deque","shortMessageHtmlLink":"Merge commit 'df039bd80fa61745' into no-deque"}},{"before":"ef1fb46a47d4c0e8d35790477208837e5acd6608","after":"95f30b5e581073854b7761c7b953fcc71e22b621","ref":"refs/heads/integerDec-errs","pushedAt":"2024-02-03T12:55:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Use `NonEmpty` to clean up errors in `integerDec`","shortMessageHtmlLink":"Use NonEmpty to clean up errors in integerDec"}},{"before":null,"after":"ef1fb46a47d4c0e8d35790477208837e5acd6608","ref":"refs/heads/integerDec-errs","pushedAt":"2024-02-03T12:47:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"clyring","name":"Matthew Craven","path":"/clyring","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12776503?s=80&v=4"},"commit":{"message":"Use `NonEmpty` to clean up errors in `integerDec`","shortMessageHtmlLink":"Use NonEmpty to clean up errors in integerDec"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEhLdpXAA","startCursor":null,"endCursor":null}},"title":"Activity ยท clyring/bytestring"}