{"id":19299216,"url":"https://github.com/bmatcuk/adventofcode2022","last_synced_at":"2026-05-16T00:06:45.133Z","repository":{"id":140013016,"uuid":"573028435","full_name":"bmatcuk/adventofcode2022","owner":"bmatcuk","description":"My solutions to the Advent of Code 2022","archived":false,"fork":false,"pushed_at":"2022-12-25T13:59:50.000Z","size":201,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-05T22:27:51.844Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bmatcuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-01T14:46:19.000Z","updated_at":"2022-12-01T15:25:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"e2444824-c055-4152-a09a-b1543fbb7b9b","html_url":"https://github.com/bmatcuk/adventofcode2022","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmatcuk%2Fadventofcode2022","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmatcuk%2Fadventofcode2022/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmatcuk%2Fadventofcode2022/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmatcuk%2Fadventofcode2022/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bmatcuk","download_url":"https://codeload.github.com/bmatcuk/adventofcode2022/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240400334,"owners_count":19795333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T23:10:35.076Z","updated_at":"2025-11-15T06:17:05.073Z","avatar_url":"https://github.com/bmatcuk.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Advent of Code, 2022 :christmas_tree:\nMy solutions to the [Advent of Code 2022] in [Raku].\n\nI like to use the Advent of Code as a learning opportunity. This year, I\ndecided on learning [Raku]. I have zero experience with the language.\n\n## Retrospective :santa:\n[Raku] is a fun language. Built-in support for big numbers was nice for several\nAoC challenges, as were several concise and powerful language constructs. I\nfound the language to be fairly easy to pick up. The grammar parsing and regex\nengine are hella powerful, and I really enjoyed using them to great effect for\ninput parsing in many of the puzzles.\n\nThat said, the regex language in Raku is unlike any other, so it had a small\nlearning curve. I found the associative sigils to be a little confusing: the\ndocumentation often uses `$` and `%` interchangeably for Maps/Hashes/Sets/etc.\nWhat's the difference? I also found that sometimes I'd end up with results\nwrapped in an extra Array or List - like, I was expecting an Array, but what I\ngot was an Array with a single element (which was the Array I was expecting)\nand it took me a while to realize I could \"fix\" that by using `:=` binding\ninstead of regular `=` assignment and I'm still not sure why? Lastly, the\nperformance of Hashes was fairly abysmal. I remember one of the days, I tried\nto speed up my algo by memoizing the main function with a Hash. Despite getting\nmany cache-hits, the overall algo was actually _slower_ because of the Hash\nperformance. I've read that, under the hood, Hash keys are always converted to\nstrings - perhaps that's the issue? In some later days, I started explicitly\ndefining the key type (such as `Hash[Type]`) and that seemed to maybe help? But\nit's hard to say for certain since it was a different problem.\n\nAnyway, I enjoyed [Raku]. Another tool for the toolbox!\n\n:snowman_with_snow:\n\n[Advent of Code 2022]: https://adventofcode.com/2022\n[Raku]: https://raku.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmatcuk%2Fadventofcode2022","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbmatcuk%2Fadventofcode2022","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmatcuk%2Fadventofcode2022/lists"}