{"id":18427178,"url":"https://github.com/fjebaker/advent-of-code-2023","last_synced_at":"2026-03-19T04:20:25.688Z","repository":{"id":210397871,"uuid":"726262457","full_name":"fjebaker/advent-of-code-2023","owner":"fjebaker","description":"Solutions to Advent of Code 2023 in CHICKEN Scheme.","archived":false,"fork":false,"pushed_at":"2023-12-13T19:01:38.000Z","size":32,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-04T22:43:46.968Z","etag":null,"topics":["advent-of-code","advent-of-code-2023","aoc-2023","chicken-scheme","scheme"],"latest_commit_sha":null,"homepage":"","language":"Scheme","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/fjebaker.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,"zenodo":null}},"created_at":"2023-12-01T22:22:53.000Z","updated_at":"2024-02-19T18:51:21.000Z","dependencies_parsed_at":"2025-04-13T19:38:58.202Z","dependency_job_id":"512752b4-397b-475e-a918-0f9b8d6a522d","html_url":"https://github.com/fjebaker/advent-of-code-2023","commit_stats":null,"previous_names":["fjebaker/advent-of-code-2023"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fjebaker/advent-of-code-2023","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2Fadvent-of-code-2023","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2Fadvent-of-code-2023/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2Fadvent-of-code-2023/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2Fadvent-of-code-2023/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fjebaker","download_url":"https://codeload.github.com/fjebaker/advent-of-code-2023/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2Fadvent-of-code-2023/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29174100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T19:28:14.811Z","status":"ssl_error","status_checked_at":"2026-02-06T19:28:13.420Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-2023","aoc-2023","chicken-scheme","scheme"],"created_at":"2024-11-06T05:09:51.428Z","updated_at":"2026-02-06T19:31:37.137Z","avatar_url":"https://github.com/fjebaker.png","language":"Scheme","funding_links":[],"categories":[],"sub_categories":[],"readme":"# advent-of-code-2023\n\nAdvent of Code 2023 in CHICKEN Scheme (until I can't do it anymore and fallback to something nicer like C++)!\n\n## Lessons from each day\n\n- 01: Recursion makes my brain hurty\n- 02: `defstruct` is a life saver and slowly learning how to use the standard libs\n- 03: hash tables are in `(srfi 69)`, and `(chicken plist)` is for `(symbol value)` list pairs. Also `printf` is cool\n- 04: Vectors are fixed length lists with $O(1)$ read write operations\n- 05: Life would be easier if you always treat ranges as `(start, end)` and not `(start, length)`. Also why loop when you can `(map)`!\n- 06: `(floor)` and `(ceiling)` also do float to integer parsing, but then need to recover exactness with `(inexact-\u003eexact)`. Also `(map)` accepts as many lists as function airity!\n- 07: `(plist)` is useful but the way you have to pass the symbol around instead of e.g. the list itself is counter-intuitive. Also I can't work out how to do `if any` on a list?\n- 08: `(chicken irregex)` are IrRegular Expressions, that are also constructed from s-expressions.\n- 09: `(define ((curry f x) y) (f x y))` is *chef's kiss*. Also SRFI-1 has an `every` that does what I wanted with `all/any`!\n- 10: it might be better to use data structures instead of remembering if it's `car` or `cdr` next. [Pick's Theorem](https://en.wikipedia.org/wiki/Pick%27s_theorem) is very cool!\n- 11: i didn't really learn anything new from this one\n- 12: memoization is easy but you need the egg. i can't work out a nice tail-call recursive pattern for solution though, since i need to (maybe) add the result to a variable (twice) and then return that\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffjebaker%2Fadvent-of-code-2023","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffjebaker%2Fadvent-of-code-2023","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffjebaker%2Fadvent-of-code-2023/lists"}