{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":4942419,"defaultBranch":"master","name":"Co-dfns","ownerLogin":"Co-dfns","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-07-08T00:01:26.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/34665787?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712297405.0","currentOid":""},"activityList":{"items":[{"before":"d40a902a9bd81a37c8174e511f0cbd381c1db466","after":"cd5e8b6be05e660cd72d86f60dd1847f39cf943e","ref":"refs/heads/master","pushedAt":"2024-04-18T05:51:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Add a rudimentary bit of testing for ⍕","shortMessageHtmlLink":"Add a rudimentary bit of testing for ⍕"}},{"before":"1ad19fdaebfa079aa5c27a19b49622724cd06078","after":"d40a902a9bd81a37c8174e511f0cbd381c1db466","ref":"refs/heads/master","pushedAt":"2024-04-18T04:02:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Fix an issue where free variables were not being marked appropriately if they were bound in a strand","shortMessageHtmlLink":"Fix an issue where free variables were not being marked appropriately…"}},{"before":"0fd0ab72ae6459c949e3a4cd7b96e8e934c5d9a3","after":"1ad19fdaebfa079aa5c27a19b49622724cd06078","ref":"refs/heads/master","pushedAt":"2024-04-11T03:50:35.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Add ⎕TS implementation","shortMessageHtmlLink":"Add ⎕TS implementation"}},{"before":"cc8b37ef41903a9a8f35c143eed2902a40d747a0","after":"0fd0ab72ae6459c949e3a4cd7b96e8e934c5d9a3","ref":"refs/heads/master","pushedAt":"2024-04-05T06:07:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"558dbd0d3148a0178d5aba625bbfdb7c1b5bc4da","after":"cc8b37ef41903a9a8f35c143eed2902a40d747a0","ref":"refs/heads/master","pushedAt":"2024-04-03T16:07:53.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Add core transformations to support strand assignment\n\nWe divide these strand operations into three main pieces.\n\nThe first piece remaps the binding target to use S nodes instead of A and V nodes for stranded values. This allows us to treat them specially for stack operations.\n\nThe second operations is to ensure that the S nodes are annotated with their child counts.\n\nThe third operation lifts the binding target into a flat structure ahead of normal expression flattening to ensure that they retain their original order, thus executing them in a pre-order traversal pattern instead of in the RPN style that we use for the rest of the expressions.\n\nFinally, we remove the B0 node as superfluous after we are done with these operations.","shortMessageHtmlLink":"Add core transformations to support strand assignment"}},{"before":"fbbf7ef17af7782771ae81769c5734b2e42b3d1b","after":"558dbd0d3148a0178d5aba625bbfdb7c1b5bc4da","ref":"refs/heads/master","pushedAt":"2024-04-02T11:23:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Don't terminate if Z nodes are still changing kind","shortMessageHtmlLink":"Don't terminate if Z nodes are still changing kind"}},{"before":"c9fe227ef4b75a5f85b23c66f4fd40d3665959e4","after":"fbbf7ef17af7782771ae81769c5734b2e42b3d1b","ref":"refs/heads/master","pushedAt":"2024-04-02T11:10:31.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Update parser so that the variable bindings are updated correctly\n\nIn the previous version, the vb value was not updated when there were nested assignment targets for a binding. This change assigns the ancestor B node to every V node that is a descendant of the first Z node in a B(Z, Z) group.","shortMessageHtmlLink":"Update parser so that the variable bindings are updated correctly"}},{"before":"8e07bdffb179aaa5a69838c60aef9010366935bd","after":"c9fe227ef4b75a5f85b23c66f4fd40d3665959e4","ref":"refs/heads/master","pushedAt":"2024-03-29T14:13:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Change the format of the new tests","shortMessageHtmlLink":"Change the format of the new tests"}},{"before":"da57042769b633945f424edc8150647e49fe18d1","after":"8e07bdffb179aaa5a69838c60aef9010366935bd","ref":"refs/heads/master","pushedAt":"2024-03-29T12:48:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"87b0330eae5d3836cdf6bd5f075ec53d5edf68fc","after":"da57042769b633945f424edc8150647e49fe18d1","ref":"refs/heads/master","pushedAt":"2024-03-29T12:48:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Docs update","shortMessageHtmlLink":"Docs update"}},{"before":"fe4289715f7c67b9de7ba0d235b1c9e9f8515772","after":"87b0330eae5d3836cdf6bd5f075ec53d5edf68fc","ref":"refs/heads/master","pushedAt":"2024-03-29T12:38:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Account for rounding errors in scan tests","shortMessageHtmlLink":"Account for rounding errors in scan tests"}},{"before":"956bc69b9fd0dd9a2fd444f3371f82387cf10507","after":"fe4289715f7c67b9de7ba0d235b1c9e9f8515772","ref":"refs/heads/master","pushedAt":"2024-03-29T12:26:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Handle complex values correctly on the device\n\nThe behavior of af_min_all and af_max_all is not what I thought, and they are actually computing a specific min or max values even for complex values. This means that I need to do something a little different, and first determine whether we have complex values in the first place, and exit out early in that case. Otherwise, I can continue under the assumption that I only have real values, and then I don't have to worry about things.","shortMessageHtmlLink":"Handle complex values correctly on the device"}},{"before":"5f7db4dea7557d3f262b39aa7a1af5d864061eb6","after":"956bc69b9fd0dd9a2fd444f3371f82387cf10507","ref":"refs/heads/master","pushedAt":"2024-03-28T09:22:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Use the init functions for main and don't make an explicit main()\n\nI don't like that we have to have a special function to use for our main function. Instead, we know that we already have initialization happening inside of a namespace, so why not use that as the main function? This helps to reduce the total name clutter, simplifies the generated code and also the mental model of the whole thing. It also has the benefit that multiple namespaces can be used as a main function simultaneously and easily allows us to distinguish between functions that we may want to do stuff in main and those that we don't.\n\nThe biggest disadvantage here is that some things that work in Dyalog APL for functions do not work when you have them inside of a namespace directly. I think this is a mistake, and I think that we should be able to do both, so I'd rather do the \"right\" thing here instead of sticking with the limitations inherent in Dyalog for something that Dyalog isn't even really doing right now.\n\nThis also creates a few more assumptions. One, that we are going to use ⎕SIGNAL for our abnormal exits, rather than a return code, which I think is fine by me. It also assumes that we are going to need some way to pass in the command line arguments to the namespace if we ever want them. This does mean we introduce a little more complexity there, but I think the flexibility is worth it.","shortMessageHtmlLink":"Use the init functions for main and don't make an explicit main()"}},{"before":"4a59168817c73266c2bc97d8e7ac817c3c473126","after":"5f7db4dea7557d3f262b39aa7a1af5d864061eb6","ref":"refs/heads/master","pushedAt":"2024-03-28T09:08:46.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Fix an issue with correctly identifying terminating bindings\n\nWe want to mark expressions that are the last expression in a dfns as a return statement even in the case where they are binding values. However, the previous code assumed that all expressions were accounted for by p[j], but j does not include G nodes, so it would be possible for you to return early if the final expressions in a dfn were all guards.","shortMessageHtmlLink":"Fix an issue with correctly identifying terminating bindings"}},{"before":"1fb628c024736bb9d0f0c85632e0da826672b8a3","after":"4a59168817c73266c2bc97d8e7ac817c3c473126","ref":"refs/heads/master","pushedAt":"2024-03-28T06:38:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Improve error message formatting","shortMessageHtmlLink":"Improve error message formatting"}},{"before":"8c755d9c05b3c01e8cf7fbbb22edf725195b70a0","after":"1fb628c024736bb9d0f0c85632e0da826672b8a3","ref":"refs/heads/master","pushedAt":"2024-03-28T06:30:25.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Fix an issue with mtype coming out of synch with the array values\n\nIn the previous code, it was possible that one value of the two `tgt` and `r` might be nested coming in, but might squeeze down to a smaller representation. We calculated `mtype` before we called the array promotion code, which meant that the `mtype` value was based on the pre-squeezed values. This could result in calling `cast_values` on an array that was promoted to device storage assuming squeezed arrays with an `ARR_NESTED` type, resulting in an error.\n\nTo fix this, we move to squeezing the arrays and doing promotion before we do the calculation of the `mtype`. This may cause us to migrate the `r` value even if we might not really want to on a global stage, but we can deal with that later.","shortMessageHtmlLink":"Fix an issue with mtype coming out of synch with the array values"}},{"before":"34e6631b167313201ddf674a7b650266a86c6910","after":"8c755d9c05b3c01e8cf7fbbb22edf725195b70a0","ref":"refs/heads/master","pushedAt":"2024-03-27T03:43:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Expand println functionality\n\n* Handle negative values\n* Handle higher ranks","shortMessageHtmlLink":"Expand println functionality"}},{"before":"353ff311e251018021f98ab15a12a501ac510ea3","after":"34e6631b167313201ddf674a7b650266a86c6910","ref":"refs/heads/master","pushedAt":"2024-03-27T03:43:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Update t0054_depth_tests.dyalog","shortMessageHtmlLink":"Update t0054_depth_tests.dyalog"}},{"before":"860f696afc20ab4b27f9f17073583afdda75f8fe","after":"353ff311e251018021f98ab15a12a501ac510ea3","ref":"refs/heads/master","pushedAt":"2024-03-26T09:13:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Make sure printing works for host and device arrays","shortMessageHtmlLink":"Make sure printing works for host and device arrays"}},{"before":"abe657cfb01fbc3dbe9b8ddf46662ca2b26393c7","after":"860f696afc20ab4b27f9f17073583afdda75f8fe","ref":"refs/heads/master","pushedAt":"2024-03-26T07:07:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Add some naive ⍕ and printing support to help with debugging","shortMessageHtmlLink":"Add some naive ⍕ and printing support to help with debugging"}},{"before":"04832a072edb19eb71ef90f5fb3f6193ccdc201e","after":"abe657cfb01fbc3dbe9b8ddf46662ca2b26393c7","ref":"refs/heads/master","pushedAt":"2024-03-26T01:32:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Update t0057_encode_tests.dyalog","shortMessageHtmlLink":"Update t0057_encode_tests.dyalog"}},{"before":"368b06482ec8e9046ed6e55fbdc31c7f602d260b","after":"04832a072edb19eb71ef90f5fb3f6193ccdc201e","ref":"refs/heads/master","pushedAt":"2024-03-23T23:53:52.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Add support for printing ⎕← and ⍞← to stdout\n\nThis is work to enable printing for basic executables (not for DWA).\n\nUnfortunately, most terminals are not 16-bit enabled, which removes our ability to use the 16-bit representations for characters that we were using when printing or working with external interfaces (largely driven by Windows and the Dyalog DWA IME).\n\nInstead, we need to switch to using UTF-8 as our primary source input and output format. Internally, we still use the codepoints to represent characters, however, when printing, we print them out as UTF-8 strings using our new printing functions. This also means that we need to alter how we handle error reporting and tracing in order to make sure that we are printing out those strings in the same format.\n\nTo account for this, we need to change our tracing interfaces to all use plain char strings that contain UTF-8 data and also change our debugging interface to ArrayFire. Fortunately, this is more in line with how ArrayFire does things, so it's not so bad.\n\nThis also means we need to change how we interface with Dyalog. This happens in two ways. When we send errors back through DWA, we pass them as 8-bit UTF-8 character arrays, which means that we need to decode them when they come in before we print them. Additionally, if we use Exec, we need to decode the returned data from ⎕CMD first, including line ending conversions, and then we can print that data as well.\n\nThis seems to fix up the printing behavior that we have, and works a little more reliably and feels less brittle than using the 16-bit stuff, so I'm happy with this overall, but it's a big change.","shortMessageHtmlLink":"Add support for printing ⎕← and ⍞← to stdout"}},{"before":"04e61de1a8f4081da0b8fe8215d67221c8a3c5d5","after":"368b06482ec8e9046ed6e55fbdc31c7f602d260b","ref":"refs/heads/master","pushedAt":"2024-03-19T17:39:50.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Add A0 nodes to the set of nodes that will count as an array value","shortMessageHtmlLink":"Add A0 nodes to the set of nodes that will count as an array value"}},{"before":"d82ff74f24571f2d8eaf25f00da9032f574ed302","after":"04e61de1a8f4081da0b8fe8215d67221c8a3c5d5","ref":"refs/heads/master","pushedAt":"2024-03-18T22:20:12.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Report on error in main()","shortMessageHtmlLink":"Report on error in main()"}},{"before":"8d73a4621ec8aceba7ca938ff9c328c110089d5d","after":"d82ff74f24571f2d8eaf25f00da9032f574ed302","ref":"refs/heads/master","pushedAt":"2024-03-18T21:24:26.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Add stdio","shortMessageHtmlLink":"Add stdio"}},{"before":"13180ef543036564e82fe9d4682d05f34c0eb834","after":"8d73a4621ec8aceba7ca938ff9c328c110089d5d","ref":"refs/heads/master","pushedAt":"2024-03-17T08:55:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Don't overload ¯1\n\nWe use the negative indices for P nodes to indicate the use of ⌶, so let's use something a little more communicative for the deletion signal.","shortMessageHtmlLink":"Don't overload ¯1"}},{"before":"c8ada9cfa75296efa4de4e4105d10acbe6f5ad85","after":"13180ef543036564e82fe9d4682d05f34c0eb834","ref":"refs/heads/master","pushedAt":"2024-03-17T05:07:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Start with a Compile entry point\n\nThe idea here is to enable the production of an executable from a file directly.","shortMessageHtmlLink":"Start with a Compile entry point"}},{"before":"25986048591569ddab6b871867ef9ef559537aab","after":"c8ada9cfa75296efa4de4e4105d10acbe6f5ad85","ref":"refs/heads/master","pushedAt":"2024-03-17T02:05:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Create t0029_strand_assignment.apln","shortMessageHtmlLink":"Create t0029_strand_assignment.apln"}},{"before":"328e0d7551845bc308b39089d6486323f3ba90a1","after":"25986048591569ddab6b871867ef9ef559537aab","ref":"refs/heads/master","pushedAt":"2024-03-17T01:45:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"TEST 29 is a redundant test","shortMessageHtmlLink":"TEST 29 is a redundant test"}},{"before":"131b09d626230e1d3070373571da99c2fe20e8db","after":"328e0d7551845bc308b39089d6486323f3ba90a1","ref":"refs/heads/master","pushedAt":"2024-02-08T03:05:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"arcfide","name":"Aaron W. Hsu","path":"/arcfide","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1235230?s=80&v=4"},"commit":{"message":"Merge pull request #495 from xelxebar/pr/small-cleanups\n\nWIP: TK: Light rewordings","shortMessageHtmlLink":"Merge pull request #495 from xelxebar/pr/small-cleanups"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEM8cTaAA","startCursor":null,"endCursor":null}},"title":"Activity · Co-dfns/Co-dfns"}