{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":196859208,"defaultBranch":"master","name":"rhombus-prototype","ownerLogin":"racket","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-07-14T16:27:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/232371?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1711828777.0","currentOid":""},"activityList":{"items":[{"before":"7cf8cbae92620e9b953b2896fa574a1eb9e56f87","after":"59c7bdcd827166ec60ad8c14254a973ef78455ba","ref":"refs/heads/master","pushedAt":"2024-05-31T19:16:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"repair for Racket v11.1 and earlier","shortMessageHtmlLink":"repair for Racket v11.1 and earlier"}},{"before":"da49addae10b9fd8e84d8f646de8a050c6f06ffb","after":"7cf8cbae92620e9b953b2896fa574a1eb9e56f87","ref":"refs/heads/master","pushedAt":"2024-05-31T08:55:27.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"add `Set.has_element` dot method\n\nThis is a more expected name for `Set.get`, which is only named so\nbecause it implements `Indexable`.","shortMessageHtmlLink":"add Set.has_element dot method"}},{"before":"3a4afc519892f480a5d74348ed4b18ce743bdfa9","after":"da49addae10b9fd8e84d8f646de8a050c6f06ffb","ref":"refs/heads/master","pushedAt":"2024-05-30T09:10:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"fix various macro-definer options\n\nAlso improve the docs, and add test cases.","shortMessageHtmlLink":"fix various macro-definer options"}},{"before":"c9a616068c7e45a99220b9ce44f5c12ae6308ad9","after":"3a4afc519892f480a5d74348ed4b18ce743bdfa9","ref":"refs/heads/master","pushedAt":"2024-05-29T09:10:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"shrubbery docs: fix BNF metanotations","shortMessageHtmlLink":"shrubbery docs: fix BNF metanotations"}},{"before":"98d39b06254efd9395bb58a13fb45595dde66fec","after":"c9a616068c7e45a99220b9ce44f5c12ae6308ad9","ref":"refs/heads/master","pushedAt":"2024-05-28T07:05:33.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"add `ModulePath.s_exp` dot method","shortMessageHtmlLink":"add ModulePath.s_exp dot method"}},{"before":"1fd74b7784448cf5780674181100894c5a0002ee","after":"98d39b06254efd9395bb58a13fb45595dde66fec","ref":"refs/heads/master","pushedAt":"2024-05-26T13:05:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"move class field annotation effect into constructor\n\nField-spec annotation effects (checkign an conversion) were previously\napplied in a guard, which is slower, but more importantly doesn't\napply the annotation before a later default-value expression that uses\nthe corresponding field.","shortMessageHtmlLink":"move class field annotation effect into constructor"}},{"before":"61b2abeedcfdf2a827a61da6523a446c2221b1f7","after":"1fd74b7784448cf5780674181100894c5a0002ee","ref":"refs/heads/master","pushedAt":"2024-05-25T17:24:54.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"add an `immutable` class clause\n\nAllow immutable fields to be added within a `class` body the same as\n`field` for a mutable field. Using `immutable` by itself is shorthand\nfor `immutable field`, while `private immutable` and the full\ncombination `private immutable field` are also allowed.","shortMessageHtmlLink":"add an immutable class clause"}},{"before":"95c42a2e183937a606c1240c3007e2e7d2adc6b2","after":"61b2abeedcfdf2a827a61da6523a446c2221b1f7","ref":"refs/heads/master","pushedAt":"2024-05-25T11:42:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"draw and gui: use `enum` for symbol enumerations\n\nAlso, as a small but backward-incompatible changes, change the\n`~style` keyword argument for many GUI elements to `~styles`. Those\narguments are a list of symbols, such as ones in the `Window.Style`\nenumeration. (The previous approach was to call the list a \"style\" and\nthe enumeration `Window.StyleSymbol`, but it's better to have \"style\"\nconsistently correspond to an individual symbol.)","shortMessageHtmlLink":"draw and gui: use enum for symbol enumerations"}},{"before":"6af66540e2bacbe797f3ba0d318d9cb168732e02","after":"95c42a2e183937a606c1240c3007e2e7d2adc6b2","ref":"refs/heads/master","pushedAt":"2024-05-25T11:41:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"add `immediate_callee` space and use for pipelines\n\nAlso, generatize `space.enforest` and `space.transformer`, and add\nfunctions like `expr_meta.relative_precedence` and\n`expr_meta.ends_parse`.\n\nFew Rhombus users will care about these mechansisms, but the upshot is\nthat the `|>` pipeline operator parses it's right-hand side as an\n\"immediate callee\" so that it can pass along static information from\nit's left-hand side. This enables more propagation of static\ninformation than would normally happen with a function call. For\nexample,\n\n```\n \"apple\" |> fun (x): x[0]\n```\n\nand\n\n```\n \"apple\" |> (_[0])\n```\n\nand\n\n```\n \"apple\" |> (((fun (x): x[0])))\n```\n\nall work with `use_static`, because `fun` and `#%parens` (both in\nfuncton-shorthand mode and in grouping mode) are bound as immediate\ncallee forms that end up communicating to `x` that it's a string.\n\nMuch of this commit is about generalizing the enforestation and\ntransformer pipelines to support syntax-class arguments and deliver\nthose arguments to macros. That generalization turned out not to be\nnecessary for immediate callees, since they fit into the transformer\nprotocol, amd enough plumbing was in place already for transformers.\nNevertheless, the changes and exploration toward immediate callees\nsuggested the generalization, and it's bound to be useful in the near\nfuture.\n\nThe protocol for parsing immediate callees and falling back to\nexpression mode does not fit nicely into the Rhombus parsing\nframework. For example, in `x |> (_ + 1)(2)`, the `(_ + 1)` is just to\nthe right of `|>`, but it's not the immediate callee. To make these\nkinds of forms work out, `#%parens` and similar need\n`expr_meta.ends_parse` to \"look ahead\" for parsing. The functionality\nseems likely to be useful in other contexts.","shortMessageHtmlLink":"add immediate_callee space and use for pipelines"}},{"before":"9bc33088c22d590fc8b4bd4c350aae4bdb7e9c5b","after":"6af66540e2bacbe797f3ba0d318d9cb168732e02","ref":"refs/heads/master","pushedAt":"2024-05-24T12:39:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"implement keyword punning in function calls\n\nThis is most similar to label punning in OCaml.","shortMessageHtmlLink":"implement keyword punning in function calls"}},{"before":"8e68608c073d9aa4248b6411f9bfb676f33c0590","after":"9bc33088c22d590fc8b4bd4c350aae4bdb7e9c5b","ref":"refs/heads/master","pushedAt":"2024-05-23T06:22:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"declare run-time structs as authentic/sealed","shortMessageHtmlLink":"declare run-time structs as authentic/sealed"}},{"before":"f615f25c469dd18c00d81b0e2bf36b7fc995e1d5","after":"8e68608c073d9aa4248b6411f9bfb676f33c0590","ref":"refs/heads/master","pushedAt":"2024-05-22T08:30:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"thunkify `key-comp` creation for user-defined configurations","shortMessageHtmlLink":"thunkify key-comp creation for user-defined configurations"}},{"before":"32ea0bb73426deb293ec6cb10e4c9f10fd62c0b4","after":"f615f25c469dd18c00d81b0e2bf36b7fc995e1d5","ref":"refs/heads/master","pushedAt":"2024-05-21T14:41:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"docs: fix `where` expression docs","shortMessageHtmlLink":"docs: fix where expression docs"}},{"before":"14135682f3512c31bb7da993208cad276e05473e","after":"32ea0bb73426deb293ec6cb10e4c9f10fd62c0b4","ref":"refs/heads/master","pushedAt":"2024-05-21T14:41:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"disallow use of veneer names in dynamic-mode contexts\n\nSince veneers can behave confusingly in dynamic-mode contexts,\ndisallow their use as an expression or annotation in a dynamic-mode\ncontext. The intent is to avoid especially confusing behavior like a\ntrue result from\n\n```(\"a\" :: StringCI) > \"A\"```\n\nwhere static mode would error due to inconsistent comparable\nimplementations for the arguments to `>`, but dynamic mode would just\ndispatch to a dynamic (not case-sensitive) string comparison.\n\nThis change does not avoid all possible confusions with veneers. For\nexample, a function declared in a static context can declara a veneer\nresult annotation, and then the function can still be called in a\ndynamic context. The change hopefully avoids most potential confusion,\nthough.","shortMessageHtmlLink":"disallow use of veneer names in dynamic-mode contexts"}},{"before":"9e934a7ac967c2c4b8ea8616d208458006aba9b4","after":"14135682f3512c31bb7da993208cad276e05473e","ref":"refs/heads/master","pushedAt":"2024-05-21T12:29:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"fix: typo\n\nThe \"ad\" is replaced by \"as\"","shortMessageHtmlLink":"fix: typo"}},{"before":"09ab05222f65b95382e7237d756eb8f8c1733ee6","after":"9e934a7ac967c2c4b8ea8616d208458006aba9b4","ref":"refs/heads/master","pushedAt":"2024-05-21T03:23:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"really fix intersection behavior of `#%dot-provider`\n\nCorrect the naive fix in 098a065, which didn't early break. Instead,\nuse a left fold of reverse tails like the original implementation did,\nbut preserve the order with an accumulator (which is the \"reverse of\nreverse\").","shortMessageHtmlLink":"really fix intersection behavior of #%dot-provider"}},{"before":"b37c8157c4ae9a92d0c35640c2da0a67b7e238b8","after":"09ab05222f65b95382e7237d756eb8f8c1733ee6","ref":"refs/heads/master","pushedAt":"2024-05-20T09:11:28.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"thunkify creation of some static info","shortMessageHtmlLink":"thunkify creation of some static info"}},{"before":"7277e5185b48742fcfd8a08be7e9fe096273b75c","after":"b37c8157c4ae9a92d0c35640c2da0a67b7e238b8","ref":"refs/heads/master","pushedAt":"2024-05-17T21:00:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"fix doc typos","shortMessageHtmlLink":"fix doc typos"}},{"before":"c2f57224038074200bac0afb1fa9f73ab08d361a","after":"7277e5185b48742fcfd8a08be7e9fe096273b75c","ref":"refs/heads/master","pushedAt":"2024-05-17T09:10:46.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"thunkify data creation for `{Map,Set}.empty` bindings","shortMessageHtmlLink":"thunkify data creation for {Map,Set}.empty bindings"}},{"before":"13a7b8ceac275e7883a231d57f426cd097f72d82","after":"c2f57224038074200bac0afb1fa9f73ab08d361a","ref":"refs/heads/master","pushedAt":"2024-05-16T18:39:29.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"delay constructon of some compile-time values\n\nConsistently thunk constructon of static-info syntax objects, and\ndelay creation of some other structures (such as classes) that contain\nsyntax objects.\n\nThe goal of ths change is to reduce the time needed to visit `rhombus`\n(in the sense of a phase-1 instantiation) and `rhombus`-based modules.\nThe savings turn out to be very small for just `rhombus`, though.","shortMessageHtmlLink":"delay constructon of some compile-time values"}},{"before":"9af78ec7a2e3e2e7fc8b7fdacf32c87517a19f51","after":"13a7b8ceac275e7883a231d57f426cd097f72d82","ref":"refs/heads/master","pushedAt":"2024-05-16T07:39:13.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"fix a wrong attribute name","shortMessageHtmlLink":"fix a wrong attribute name"}},{"before":"3758d2b7271037362c0b9b1ec91df2bbc530843e","after":"9af78ec7a2e3e2e7fc8b7fdacf32c87517a19f51","ref":"refs/heads/master","pushedAt":"2024-05-15T23:03:20.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"remove unnecessary identifier in each operator transformer\n\nThe identifier in an operator was used for precedence comparisons, but\nit's not needed, because the identifier used to look up the operator\nis available. Also, thunk precedence specifications so that they are\nonly constructed as needed.","shortMessageHtmlLink":"remove unnecessary identifier in each operator transformer"}},{"before":"287c1c1543899ae226db8878d2be889c1295880e","after":"3758d2b7271037362c0b9b1ec91df2bbc530843e","ref":"refs/heads/master","pushedAt":"2024-05-15T16:54:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"avoid reporting `check` example as external test failure\n\nThat is, make\n raco test --drdr rhombus/scribblings/ref-check.scrbl\nreport success instead of failure.","shortMessageHtmlLink":"avoid reporting check example as external test failure"}},{"before":"9db4d8cfab5822f04f918d345b5b2277b53567c4","after":"287c1c1543899ae226db8878d2be889c1295880e","ref":"refs/heads/master","pushedAt":"2024-05-15T16:16:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"add some missing sequence constructors","shortMessageHtmlLink":"add some missing sequence constructors"}},{"before":"7e8a97a4bc9d605f028ffd6905c1660ad98011e8","after":"9db4d8cfab5822f04f918d345b5b2277b53567c4","ref":"refs/heads/master","pushedAt":"2024-05-15T06:54:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"demo: use function shorthand","shortMessageHtmlLink":"demo: use function shorthand"}},{"before":"7fd10b5bc69bc4eea5ccd08ccf9319ed3faeac6f","after":"7e8a97a4bc9d605f028ffd6905c1660ad98011e8","ref":"refs/heads/master","pushedAt":"2024-05-15T06:28:58.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"implement integer range objects\n\nThis follows the proposal in \"design/range/range.md\". Range objects\ncan be constructed and matched by nine constructors (but no separate\nannotation is given for each constructor, to avoid the combinatorial\nexplosion). The name `Range.from_to` is chosen for the common case\n`..`, and other names build on it. Four operators `..`, `..=`,\n`<..<` (this is unfortunate, because operators cannot end in `.`), and\n`<..=` are available as shorthand notations for the nine constructors.\n\nRange objects are currently restricted to integers, because it's not\napparent how to make them generic while still efficient in the context\nof Rhombus.\n\n`Range.from_to`, `Range.from_to_inclusive`, and `Range.from` can be\nused as sequences, and a naive optimization strategy is applied to\nensure that they work as efficiently as before. The strategy simply\nlooks for a direct application of the three constructors and dispatch\nto special cases that work like `in-range`, `in-inclusive-range`, and\n`in-naturals`. The same strategy is also found in `Range.step_by`,\nbut only when it's invoked as a dot method (over a direct\napplication).\n\n`Range.from_to` and `Range.from_to_inclusive` are `Listable`, which is\nthe same as before.\n\nAccordingly, ranges are separated into three subtypes: `Range` (all\nranges), `SequenceRange` (ranges that can be used as sequences), and\n`ListRange` (ranges that are `Listable`).\n\nA list of methods is implemented, which is essentially borrowed from\nRebellion. In addition, ranges can be deconstructed through\n`Range.start`, `Range.end`, `Range.includes_start`, and\n`Range.includes_end`, if one wants to.","shortMessageHtmlLink":"implement integer range objects"}},{"before":"34bca644ce202880d442b3d613aa71563fa329f3","after":"7fd10b5bc69bc4eea5ccd08ccf9319ed3faeac6f","ref":"refs/heads/master","pushedAt":"2024-05-14T17:50:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"anonymous-function shorthand with `_` and parentheses\n\nWhen the terms enclosed by an expression `()` include an immediate\n`_`, the `()` form (more precisely, the `#%parens` form) expands to an\nanonymous function, and each `_` is a distinct argument. So, for\nexample `(_ + _)` is a function that takes two arguments and adds\nthem.\n\nWhen a function-call expression form has an argument that is just `_`,\nthen the function call (more precisely, the #%call form) expands to an\nanonymous function that contains the call, and each argument that is\njust `_` becomes an argument to that enclosing function. So,\n`List.cons(_, [1, 2, 3])` is a function equivalent to\n`fun (x): List.cons(x, [1, 2, 3])`. This conversion does not apply\nto a function call that has spliced arguments or `...`s.","shortMessageHtmlLink":"anonymous-function shorthand with _ and parentheses"}},{"before":"c101aa8a1fe409e443dbac42f513f0419ee08ed0","after":"34bca644ce202880d442b3d613aa71563fa329f3","ref":"refs/heads/master","pushedAt":"2024-05-13T20:01:54.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"improve documentation example-evaluator startup\n\nTake advantage of bug fixes and improvements in Racket v8.13.0.4 for\nfaster sandbox creation, which cuts about 40% of the time to build the\nRhombus documentation.","shortMessageHtmlLink":"improve documentation example-evaluator startup"}},{"before":"99797285310de7a63dc12fb7d2a479c1042d2cc8","after":"c101aa8a1fe409e443dbac42f513f0419ee08ed0","ref":"refs/heads/master","pushedAt":"2024-05-13T19:47:30.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mflatt","name":"Matthew Flatt","path":"/mflatt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/295034?s=80&v=4"},"commit":{"message":"Add `later_of` and `now_of` for `List`, `Map`, and `Set` variants\n\nThe `later_of` annotation constructor works for both immutable and\nmutable collection variants, but requires predicate annotations for\nkeys and values in the cas of immutable collections. The `now_of`\nannotation constructor is analogous to `of`, but for mutable\ncollections.","shortMessageHtmlLink":"Add later_of and now_of for List, Map, and Set variants"}},{"before":"1fc119277abbda0f4de659984ffa3b1190c32c82","after":"99797285310de7a63dc12fb7d2a479c1042d2cc8","ref":"refs/heads/master","pushedAt":"2024-05-10T08:21:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"usaoc","name":"Wing Hei Chan","path":"/usaoc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59931667?s=80&v=4"},"commit":{"message":"fix 0-ary case of `statinfo_meta.{union,intersect}`","shortMessageHtmlLink":"fix 0-ary case of statinfo_meta.{union,intersect}"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWVSn4wA","startCursor":null,"endCursor":null}},"title":"Activity ยท racket/rhombus-prototype"}