{"id":21871340,"url":"https://github.com/sheinxy/advent2021","last_synced_at":"2025-04-14T23:55:49.815Z","repository":{"id":210123616,"uuid":"433618962","full_name":"Sheinxy/Advent2021","owner":"Sheinxy","description":"Advent Of Code 2021","archived":false,"fork":false,"pushed_at":"2021-12-19T15:54:35.000Z","size":446,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T23:55:35.523Z","etag":null,"topics":["advent-of-code","advent-of-code-2021","advent-of-code-2021-haskell","aoc","aoc-2021","aoc-2021-in-haskell","aoc2021","aoc2021haskell"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sheinxy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-11-30T23:27:41.000Z","updated_at":"2021-12-19T15:54:38.000Z","dependencies_parsed_at":"2023-11-30T23:41:14.539Z","dependency_job_id":null,"html_url":"https://github.com/Sheinxy/Advent2021","commit_stats":null,"previous_names":["sheinxy/advent2021"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheinxy%2FAdvent2021","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheinxy%2FAdvent2021/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheinxy%2FAdvent2021/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheinxy%2FAdvent2021/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sheinxy","download_url":"https://codeload.github.com/Sheinxy/Advent2021/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248981261,"owners_count":21193144,"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":["advent-of-code","advent-of-code-2021","advent-of-code-2021-haskell","aoc","aoc-2021","aoc-2021-in-haskell","aoc2021","aoc2021haskell"],"created_at":"2024-11-28T06:13:59.991Z","updated_at":"2025-04-14T23:55:49.796Z","avatar_url":"https://github.com/Sheinxy.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Advent2021\nGuess who's back, back again\n\n---\n\nWatch me code in Haskell for 25 days straight\n\n- [x] Day 1\n- [x] Day 2\n- [x] Day 3\n- [x] Day 4\n- [x] Day 5\n- [x] Day 6\n- [x] Day 7\n- [x] Day 8\n- [x] Day 9\n- [x] Day 10\n- [x] Day 11\n- [x] Day 12\n- [x] Day 13\n- [x] Day 14\n- [x] Day 15\n- [x] Day 16\n- [x] Day 17\n- [x] Day 18\n- [ ] Day 19\n- [ ] Day 20\n- [ ] Day 21\n- [ ] Day 22\n- [ ] Day 23\n- [ ] Day 24\n- [ ] Day 25\n\n---\n\n## Personnal Feedback\n\n### Day 1:\nI am quite proud of my solution, I'm obviously just trying to show off here but it's fun. When I look back at my first solution last year, I feel like I've progressed quite a lot!\n\n### Day 2:\nThis one was easy, I am kind of disappointed that I couldn't do showy one-liners for the move function (I mean, I could with inline if-else I guess)\n\n### Day 3:\nOkay this one was kind of a mess, the first part is pretty okay (I probably could have done something more optimised, but it works just fine), however I am totally unsatisfied by my second part. I think there has to be a way in Haskell to do what I want\n\n### Day 4:\nWell, it may not be the most optimised, like I have to traverse the grid twice because I'm too lazy to do things better, but it works, it's readable and all, so yeah I'm kind of satisfied, oddly enough\n\n### Day 5:\nThis one was easy and pretty straightforward, I'm happy with my solution. I just wish I could mix both parts into one but I can't\n\n### Day 6:\nThis one was really fun. Of course I first I did the most naive solution, but then when I went onto part 2 I had to do a smarter one. Of course mine is still not that smart, because I can't modify an element of a list in-place I just decided to do a silly workaround, but it works and it's fine considering the size of the array\n\n### Day 7:\nOkay I am really disappointed in myself for that one. I feel like there's a much better way of doing part 2, but I can't find it for now. I'm going to think a little bit more about it. Edit: Ok I am more satisfied now\n\n### Day 8:\nTHIS ONE WAS INCREDIBLY FUN! I am actually quite happy with my solution. Although some would find it ugly and whatnot, I believe it is actually a good solution as it manages to be both simple to understand (basically the only weird thing to understand is the head . filter thingies, because I didn't want to use find because it didn't make sense to have Maybe here in my opinion)\n\n### Day 9:\nI came prepared with Data.Matrix ;D. I was waiting to use that one, and here it is! Also, I think I did a fricking DFS using foldl, didn't I?\n\n### Day 10:\nThis one was really easy. Too easy in fact, it was kind of boring :C I mean, it's just matching parenthesis all over again in the end\n\n### Day 11:\nI was really scared about cellular automaton in Haskell because I had a very bad experience last year. Turns out this year I am rolling over them quite easily, good innit?\n\n### Day 12:\nThis wasn't too bad. Kind of had to create my own Graph implementation but I managed to do it so that's good. Not much fan of how I named parameters and functions here but hey, what can you do about that. \n\n### Day 13:\nThis one was really easy. I don't have much to say, Data.Matrix is still a blessing \u003c3\n\n### Day 14:\nThis is day 6 all over again, albeit much uglier ono\n\n### Day 15:\nThis is just a Dijsktra thingy. There probably was some way to optimise part 2, but I'm far too lazy for that :d\n\n### Day 16:\nMay god have mercy on my soul, as I have sinned. My solution is horrible and I want to sleep. Oh lord what have I done, this is a mess, please help me\n\n### Day 17:\nI am really disappointed here, all I did was bruteforce my way in. I hope there actually is a clever solution. I think there might be, by solving some equations and whatnot, but I am tired.\n\n### Day 18:\nExplanations were unclear, and doing that in Haskell was a hustle. But I managed. I survived\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheinxy%2Fadvent2021","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsheinxy%2Fadvent2021","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheinxy%2Fadvent2021/lists"}