{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":26468385,"defaultBranch":"master","name":"ivy","ownerLogin":"robpike","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-11-11T03:50:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4324516?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1705531335.0","currentOid":""},"activityList":{"items":[{"before":"63993d6b9b2dc0a62f38c60d98955d6525dbc828","after":"9fc3b277798986affcd7b9bb1062c43aa3383573","ref":"refs/heads/master","pushedAt":"2024-03-15T09:50:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: work around possible bug in big.Float.Copy\n\nThis:\n\t/sqrt 2\n\t/sqrt 2\nwould print 0.5 0.5, believe it or not, because the call to Copy in\nBigFloat.inverse would change the value of floatOne.\n\nAvoid calling big.Float.Copy.\n\nAdd a test that fails if this creeps back, at least in inverse.","shortMessageHtmlLink":"ivy: work around possible bug in big.Float.Copy"}},{"before":"b2e92aa87a91ee95ea5de2d2c3746c29b322b3df","after":"63993d6b9b2dc0a62f38c60d98955d6525dbc828","ref":"refs/heads/master","pushedAt":"2024-01-17T22:42:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: delete now-duplicate old factorial routine\n\nOne of these days I will learn to use CMSes.\nHa ha ha. No I won't.","shortMessageHtmlLink":"ivy: delete now-duplicate old factorial routine"}},{"before":"37646b2ee1ca79a56aa7c8d4866ba307567eb3fc","after":"b2e92aa87a91ee95ea5de2d2c3746c29b322b3df","ref":"refs/heads/master","pushedAt":"2024-01-15T23:35:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: faster implementation of factorial\n\nGets about 2X; could do better if multiplication of large numbers\nin math/big used an algorithm better at large numbers than Karatsuba.\n10X or more is possible.\n\nThe idea comes from Peter Luschny, https://oeis.org/A000142/a000142.pdf.\nThe reference implementation linked from there, in Go, is about 25%\nslower than the one here, which is interesting.","shortMessageHtmlLink":"ivy: faster implementation of factorial"}},{"before":"25fc5bceedb22fe1f1de97824342cf7e77edb89a","after":"37646b2ee1ca79a56aa7c8d4866ba307567eb3fc","ref":"refs/heads/master","pushedAt":"2023-11-02T21:19:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: fix bad error statement in drop\n\nStupidly was indexing a vector that might be nil or empty.\nThere is no reason to do anything other than just print\nthe bad value.","shortMessageHtmlLink":"ivy: fix bad error statement in drop"}},{"before":"86fbca480032c5ebcbf91b48f557cb500aebf9c3","after":"25fc5bceedb22fe1f1de97824342cf7e77edb89a","ref":"refs/heads/master","pushedAt":"2023-10-03T21:20:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"Fix fmt.Sprint typo (#159)\n\nNoticed via\r\n\r\n\t$ go test ./...\r\n\t# robpike.io/ivy/value\r\n\tvalue/sys.go:159:25: fmt.Sprint call has possible Printf\r\n\tformatting directive %d","shortMessageHtmlLink":"Fix fmt.Sprint typo (#159)"}},{"before":"f0eb8600456919d8988a5d86358b66b5cbde70a5","after":"86fbca480032c5ebcbf91b48f557cb500aebf9c3","ref":"refs/heads/master","pushedAt":"2023-10-02T03:57:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: clean up time zone management\n\nTurn it into location management, that is, track locations rather than\ntime zones. The code is more robust now, and this fixes the output\nfor the zero of Unix time in New York. However, there is still some\nthinking to do about time zones vs. locations in the UI. More may\ncome, such as changing the special command to \")location\".\n\nUpdate #158","shortMessageHtmlLink":"ivy: clean up time zone management"}},{"before":"6393c4793b934f230e996ebf7a997f809b5ccf22","after":"f0eb8600456919d8988a5d86358b66b5cbde70a5","ref":"refs/heads/master","pushedAt":"2023-10-02T03:18:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: don't silently set time to UTC\n\nIn config.TimeZoneAt, if an error occurs it silently set the time zone to UTC.\nThis is a bad idea. Instead, give an error and change nothing.\n\nThere is more to do here but let's get this cleared up now.\n\nUpdate #158","shortMessageHtmlLink":"ivy: don't silently set time to UTC"}},{"before":"26ebde8d1d31c5d103d4ec1c8374f699de5f4e61","after":"6393c4793b934f230e996ebf7a997f809b5ccf22","ref":"refs/heads/master","pushedAt":"2023-09-28T00:45:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: don't use int64 and float64 in time calculations\n\nBecause we were using UnixNano, the range of times was limited to\nonly a few centuries. Rewrite the code to keep the high-precision\nvalues all the way through, allowing us to calculate with times\nvery far away from today.","shortMessageHtmlLink":"ivy: don't use int64 and float64 in time calculations"}},{"before":"ead7718d17fcfb6c524e2a6883c884c24893edf1","after":"26ebde8d1d31c5d103d4ec1c8374f699de5f4e61","ref":"refs/heads/master","pushedAt":"2023-09-26T04:20:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: add missing c.init in new SetTimeZone special","shortMessageHtmlLink":"ivy: add missing c.init in new SetTimeZone special"}},{"before":"d8b6bd03456731e29a54a274a0fb29333cb7f0f6","after":"ead7718d17fcfb6c524e2a6883c884c24893edf1","ref":"refs/heads/master","pushedAt":"2023-09-26T02:57:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: add rudimentary support for time zones\n\nAdd time zone information to the time vector, and use it when printing\nand managing times. Allow the user to change the time zone used\nthrough a special command.\n\nFixes #135","shortMessageHtmlLink":"ivy: add rudimentary support for time zones"}},{"before":"26507895fa7eea9691fba3155aeab06aceef9a55","after":"d8b6bd03456731e29a54a274a0fb29333cb7f0f6","ref":"refs/heads/master","pushedAt":"2023-08-22T21:36:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"Correct spelling (#156)","shortMessageHtmlLink":"Correct spelling (#156)"}},{"before":"80fd3e974cbf1ed8b0efa0d38653bb184bb5ada2","after":"26507895fa7eea9691fba3155aeab06aceef9a55","ref":"refs/heads/master","pushedAt":"2023-08-22T21:35:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"[run/time_unix.go] Support all current and future UNIX variations (#157)","shortMessageHtmlLink":"[run/time_unix.go] Support all current and future UNIX variations (#157)"}},{"before":"b443c73575141bb4692b02cc21453092b70bef06","after":"80fd3e974cbf1ed8b0efa0d38653bb184bb5ada2","ref":"refs/heads/master","pushedAt":"2023-08-14T10:35:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: update README to more accurately report availability\n\nAndroid version is still in the Play Store.","shortMessageHtmlLink":"ivy: update README to more accurately report availability"}},{"before":"588d28d1e6122d1890422ed962b3fd4d54e02fa2","after":"b443c73575141bb4692b02cc21453092b70bef06","ref":"refs/heads/master","pushedAt":"2023-08-12T04:00:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"README.md: rewrite paragraph about mobile\n\nUntil some bureaucratic issues are sorted, they won't be available.","shortMessageHtmlLink":"README.md: rewrite paragraph about mobile"}},{"before":"c88e3847519062d3c2e4b17d9dd2f5779f852cdd","after":null,"ref":"refs/heads/dev","pushedAt":"2023-08-12T03:57:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"}},{"before":"337020a90df908e99abe2d8520cc20e6cbe9c78f","after":null,"ref":"refs/heads/revert-149-mod-1.21","pushedAt":"2023-08-12T03:57:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"}},{"before":"c694a82ae4e33cd88544f6ec2aaf5f7dff172a37","after":"588d28d1e6122d1890422ed962b3fd4d54e02fa2","ref":"refs/heads/master","pushedAt":"2023-08-11T23:41:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: implement mix for matrices\n\nIt's pretty much identical code to what was already in place for vectors,\nso just have the vector code call it.\n\nFixes #154","shortMessageHtmlLink":"ivy: implement mix for matrices"}},{"before":"45e03f75c77709659189c569685d77d308974919","after":"c694a82ae4e33cd88544f6ec2aaf5f7dff172a37","ref":"refs/heads/master","pushedAt":"2023-08-11T23:08:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: smiplify and generalize implementation of split\n\nIt's much easier than the old code would have you believe, and\nthe new code is also more general.\n\nAlso: Matrix.shrink was a no-op, and it shouldn't be.\n\nUpdate #154","shortMessageHtmlLink":"ivy: smiplify and generalize implementation of split"}},{"before":"5441500e158981ec7bca629d0ceadae46717a580","after":"45e03f75c77709659189c569685d77d308974919","ref":"refs/heads/master","pushedAt":"2023-08-11T21:30:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: reset 'maxstack' between test runs (#155)\n\nThis ensures that tests are independent of the execution order of test files.\r\n\r\nFixes #150","shortMessageHtmlLink":"ivy: reset 'maxstack' between test runs (#155)"}},{"before":"c7523a413aa10a66ee87e3a5ac5882784e0f4d5d","after":"5441500e158981ec7bca629d0ceadae46717a580","ref":"refs/heads/master","pushedAt":"2023-08-11T10:53:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: check error messages in execution failure tests\n\nUse a special comment before each example that contains\ntext to be expected in the error output.\n\nLong-standing TODO now TODONE.","shortMessageHtmlLink":"ivy: check error messages in execution failure tests"}},{"before":"71f06f4c7b028aa16159c942501ca01a23727efb","after":"c7523a413aa10a66ee87e3a5ac5882784e0f4d5d","ref":"refs/heads/master","pushedAt":"2023-08-11T06:10:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: add keyword \"opdelete\" to delete a user-defined function\n\nPreviously it was impossible to delete a user-defined function,\nwhich is a problem if it shares the name of a globally installed\none. %his works now:\n\n\top a mod b = 7\n\t5 mod 2\n\t\t7\n\topdelete a mod b\n\t5 mod 2\n\t\t1","shortMessageHtmlLink":"ivy: add keyword \"opdelete\" to delete a user-defined function"}},{"before":"c9fbf79d0ba0078f5e6b594d2420a362e4772375","after":"71f06f4c7b028aa16159c942501ca01a23727efb","ref":"refs/heads/master","pushedAt":"2023-08-11T04:50:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: fix time-zone sensitive test in testdata/sys.ivy\n\nUntil time zone support is in (issue #135), this will have to do.\n\nFixes #151","shortMessageHtmlLink":"ivy: fix time-zone sensitive test in testdata/sys.ivy"}},{"before":"38f65b8f882fbf65e26ff7a6bd1a5c9cb8b26abb","after":"c9fbf79d0ba0078f5e6b594d2420a362e4772375","ref":"refs/heads/master","pushedAt":"2023-08-11T04:36:38.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: advance to go1.21\n\nInadvertently added something that depends on it.\n\nAlso fix a stupid editing mistake that introduced a test failure.","shortMessageHtmlLink":"ivy: advance to go1.21"}},{"before":"5f934e0faacb3790daf5335103fb07c63aca182f","after":"38f65b8f882fbf65e26ff7a6bd1a5c9cb8b26abb","ref":"refs/heads/master","pushedAt":"2023-08-11T04:29:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"Revert \"Require Go 1.21 (#149)\" (#153)\n\nThis reverts commit 5f934e0faacb3790daf5335103fb07c63aca182f.","shortMessageHtmlLink":"Revert \"Require Go 1.21 (#149)\" (#153)"}},{"before":null,"after":"337020a90df908e99abe2d8520cc20e6cbe9c78f","ref":"refs/heads/revert-149-mod-1.21","pushedAt":"2023-08-11T04:28:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"Revert \"Require Go 1.21 (#149)\"\n\nThis reverts commit 5f934e0faacb3790daf5335103fb07c63aca182f.","shortMessageHtmlLink":"Revert \"Require Go 1.21 (#149)\""}},{"before":"d707516ba1bba12d98edbbcbe0186618054260fa","after":"5f934e0faacb3790daf5335103fb07c63aca182f","ref":"refs/heads/master","pushedAt":"2023-08-11T04:26:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"Require Go 1.21 (#149)\n\nCommit f024fcaf17 uses math/big.Int.Float64 which was introduced in Go\r\nversion 1.21","shortMessageHtmlLink":"Require Go 1.21 (#149)"}},{"before":"2f06043adb6ec4627d38f2ce1cf1e762ad419e52","after":"d707516ba1bba12d98edbbcbe0186618054260fa","ref":"refs/heads/master","pushedAt":"2023-08-09T07:28:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: matrix division operator applied to vectors\n\nThis is the magnitude of the projection of lhs on rhs.\nThat's what the APL wiki says, anyway.","shortMessageHtmlLink":"ivy: matrix division operator applied to vectors"}},{"before":"52f4213f7e7851547989f48e828815e7431f0cc9","after":"2f06043adb6ec4627d38f2ce1cf1e762ad419e52","ref":"refs/heads/master","pushedAt":"2023-08-09T06:37:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: another evaluation bug\n\nThis time for sure: need to eval again in case of assignment. Before\nthis,\n\tx y = z (z=4)\nleft y as an Assignment, which wouldn't print its value:\n\tx y\n\t4","shortMessageHtmlLink":"ivy: another evaluation bug"}},{"before":"9d15c22d856d48a0da92109dec6347adc09d5cba","after":"52f4213f7e7851547989f48e828815e7431f0cc9","ref":"refs/heads/master","pushedAt":"2023-08-09T06:32:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: fix eval bug in multiple assignment\n\nWas checking for a vector value on the right hand side during parsing,\nbut it might be an expression so evaluation should happen during the\nassignment's execution, not its parse.","shortMessageHtmlLink":"ivy: fix eval bug in multiple assignment"}},{"before":"c721b46afaa3f9f136c61c2634b0044720d7d6ed","after":"9d15c22d856d48a0da92109dec6347adc09d5cba","ref":"refs/heads/master","pushedAt":"2023-08-09T05:33:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robpike","name":"Rob Pike","path":"/robpike","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324516?s=80&v=4"},"commit":{"message":"ivy: fix untagged struct fields caught by vet in quorem_test.go","shortMessageHtmlLink":"ivy: fix untagged struct fields caught by vet in quorem_test.go"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEFoQyEQA","startCursor":null,"endCursor":null}},"title":"Activity ยท robpike/ivy"}