diff --git a/aoc.cabal b/aoc.cabal index d6b8d64..3173d5d 100644 --- a/aoc.cabal +++ b/aoc.cabal @@ -49,32 +49,6 @@ library AoC.Y2023.D23 AoC.Y2023.D24 AoC.Y2023.D25 - AoC.Y2024 - AoC.Y2024.D01 - AoC.Y2024.D02 - AoC.Y2024.D03 - AoC.Y2024.D04 - AoC.Y2024.D05 - AoC.Y2024.D06 - AoC.Y2024.D07 - AoC.Y2024.D08 - AoC.Y2024.D09 - AoC.Y2024.D10 - AoC.Y2024.D11 - AoC.Y2024.D12 - AoC.Y2024.D13 - AoC.Y2024.D14 - AoC.Y2024.D15 - AoC.Y2024.D16 - AoC.Y2024.D17 - AoC.Y2024.D18 - AoC.Y2024.D19 - AoC.Y2024.D20 - AoC.Y2024.D21 - AoC.Y2024.D22 - AoC.Y2024.D23 - AoC.Y2024.D24 - AoC.Y2024.D25 AoC.Year other-modules: Paths_aoc @@ -163,7 +137,6 @@ test-suite spec other-modules: AoCSpec.UtilSpec AoCSpec.Y2023Spec - AoCSpec.Y2024Spec SpecHook Paths_aoc autogen-modules: diff --git a/data/Y2024/D01/example b/data/Y2024/D01/example deleted file mode 100644 index b8af9ad..0000000 --- a/data/Y2024/D01/example +++ /dev/null @@ -1,6 +0,0 @@ -3 4 -4 3 -2 5 -1 3 -3 9 -3 3 diff --git a/data/Y2024/D01/riddle b/data/Y2024/D01/riddle deleted file mode 100644 index 60b222d..0000000 --- a/data/Y2024/D01/riddle +++ /dev/null @@ -1,1000 +0,0 @@ -88450 63363 -58674 73195 -30431 97265 -79176 36224 -51071 64526 -78115 34829 -26281 65342 -99747 75563 -81068 41201 -81760 39590 -91539 66113 -51799 96883 -69353 19440 -64094 96883 -27283 88579 -52983 37831 -36638 37255 -68035 36007 -26604 96883 -43449 69865 -90472 75289 -20731 35412 -31769 42457 -37135 22483 -64018 44347 -49545 45637 -87888 11937 -89770 85917 -39164 26074 -34963 57264 -69433 87585 -89828 75289 -51940 30644 -76011 76423 -86044 69863 -42178 81634 -58537 84529 -68039 39015 -91534 80235 -95383 26816 -72575 20171 -63014 53853 -32766 84529 -21621 89301 -65716 94131 -74270 26729 -73720 99746 -22637 82429 -96044 16327 -93882 19601 -49123 36007 -59778 64129 -62853 55358 -72347 80203 -48833 47045 -64129 62494 -21955 96883 -92027 12818 -38750 29622 -16496 92138 -68900 26494 -13007 75255 -15450 75255 -82750 57264 -35089 36007 -60190 26729 -92533 72231 -95863 46766 -28192 34386 -36229 31291 -84353 84529 -85760 94567 -68643 63363 -47794 81334 -26171 63475 -14558 25238 -73997 72059 -56966 79382 -26572 86541 -15302 89301 -25557 89301 -52311 84529 -83219 10771 -47897 38681 -51489 33757 -10737 70282 -14395 57593 -75289 33474 -50622 53826 -33690 96463 -88570 36007 -88810 37995 -76440 71407 -96318 30287 -17056 63363 -90971 75246 -26526 85772 -64411 41201 -41386 10166 -16374 92034 -69742 91071 -71716 23782 -52237 32193 -63724 35412 -29598 55182 -58958 55182 -70562 56476 -99313 47299 -99705 70328 -38730 36007 -93620 29617 -64261 33757 -37597 26576 -86139 77794 -81816 20568 -25422 63744 -41188 26729 -91310 94596 -42798 61799 -12672 96315 -51173 45929 -23901 79382 -86756 95419 -72786 33757 -21624 90149 -81152 20260 -76279 75816 -86686 60299 -96883 79162 -52777 54244 -44760 69775 -48872 50008 -13502 66090 -39968 94596 -49634 17015 -90616 79382 -98097 94596 -94918 36224 -71745 76703 -63978 94596 -96485 96984 -34269 66751 -86448 64129 -40845 35412 -24852 28792 -49514 37277 -60306 41587 -19242 81203 -42110 55182 -88579 19310 -14788 36076 -22896 77018 -53083 89301 -21419 62087 -16682 40987 -45509 63363 -19280 80435 -35886 81329 -25186 22123 -72836 88497 -97528 96823 -72387 18771 -83455 86201 -33568 86544 -30442 94455 -83110 29374 -49301 88579 -34315 69117 -41298 86008 -55295 97010 -35412 88552 -52239 68865 -31395 26729 -26416 51263 -62441 69129 -43014 92675 -73780 55669 -59350 99109 -61061 22458 -41617 18191 -49483 35412 -58955 33400 -36007 37276 -10241 35159 -46681 33757 -89126 36224 -33265 38854 -95319 13101 -73018 20969 -60322 26729 -50982 88579 -12810 57845 -16293 33757 -74375 28399 -63806 18191 -66212 85298 -65902 32364 -88549 12193 -41289 15659 -68097 14208 -88017 30570 -73445 22551 -38360 15738 -39931 47827 -30391 46615 -46148 17015 -50563 33757 -55685 74778 -88469 69721 -22810 57264 -32215 74778 -59903 15150 -17397 57264 -10767 17015 -99371 18191 -90831 51790 -65156 94131 -97534 74778 -91168 84518 -26858 70445 -29539 87613 -30333 71407 -99445 73344 -16567 94131 -32900 69357 -27489 63148 -46422 63363 -91270 37691 -19540 53813 -65489 45632 -76210 98226 -29062 27996 -41201 74778 -45915 88579 -94945 81121 -54375 41217 -21536 17358 -75870 30864 -79743 89214 -20691 94596 -10352 83523 -83970 30864 -98914 18386 -58938 55182 -51275 11339 -86583 95003 -69981 47537 -27674 84373 -43824 47258 -87336 25451 -56054 20831 -33272 54103 -36755 63991 -73434 10847 -36649 82725 -80713 71407 -13544 74784 -27841 88579 -84003 22246 -48985 68185 -10176 71407 -58353 22559 -15647 74778 -68910 41553 -46401 31790 -80269 22871 -86290 47068 -95993 10051 -44568 41201 -44398 66153 -41393 84557 -30042 18191 -31917 38515 -13513 59458 -71906 89301 -75883 73018 -95352 64129 -14275 63363 -69876 35412 -16298 31473 -30864 79382 -19877 81988 -22165 16975 -62660 18191 -72656 13418 -81487 69274 -72705 79382 -22301 88579 -81495 94131 -88386 77944 -71675 21687 -34867 50027 -41331 74778 -53633 96823 -54664 42918 -29793 43797 -68537 94131 -46224 88579 -36246 75957 -68342 16975 -94273 33645 -97185 26729 -23728 63363 -68264 29231 -79652 26729 -89531 20323 -98937 94073 -91690 94596 -48648 67496 -32882 40888 -57264 71920 -13447 95151 -35448 64129 -75778 98592 -23234 27536 -49904 64383 -26513 17296 -91793 13262 -27874 74776 -66884 71407 -45213 64129 -40497 84529 -76273 23793 -39230 36224 -89266 29166 -35518 85657 -16168 94208 -20476 58668 -87694 93276 -45088 29626 -60101 92034 -33643 46999 -84013 36057 -45702 52055 -82641 36007 -20831 96883 -77611 96823 -82075 84749 -56470 18508 -19621 11287 -59631 21505 -64405 73018 -19772 36007 -86905 95374 -17583 26729 -53767 33757 -37207 40318 -94596 73018 -51890 38283 -52083 30246 -10991 37453 -33366 61295 -70856 40290 -84010 75289 -95694 77859 -57389 49009 -38239 36007 -92555 55182 -83182 98585 -66779 73018 -89448 30783 -82430 55798 -96968 63363 -93774 96883 -85440 59291 -94915 76935 -81147 25407 -71130 91090 -74977 84529 -74557 55182 -22159 75441 -31266 66927 -98350 20323 -13272 26729 -95602 91096 -88655 10128 -74822 68720 -11346 89301 -52663 28749 -20323 61116 -94621 75255 -27159 42996 -61249 44166 -22861 88579 -64142 83623 -29355 22533 -23153 94131 -28248 36007 -70448 60535 -53405 20323 -38065 92034 -37806 32005 -88000 43943 -72790 84856 -33687 34647 -11417 69129 -53871 63990 -45748 51721 -95328 16975 -59125 16975 -12587 96823 -94131 34262 -42511 38283 -52071 60452 -73868 33171 -38312 38283 -98418 56577 -85457 88579 -16464 89301 -76815 24744 -28900 88027 -49734 96738 -92985 57264 -86926 74778 -93208 57264 -41938 88579 -67527 93270 -49205 26792 -41165 20323 -40200 81976 -59357 20831 -75079 97383 -60169 63363 -92074 10369 -18585 96883 -43719 65952 -71503 61691 -20439 41201 -50067 42595 -89766 94596 -20035 79104 -29197 34472 -82716 92034 -15062 84529 -91337 41587 -23698 74778 -86500 64129 -52046 28042 -40868 67872 -96384 34853 -60434 73018 -56290 14749 -57746 40512 -18898 68267 -51209 38283 -67029 49628 -40530 26729 -63443 70371 -69441 72474 -73700 35412 -41594 24791 -51804 75289 -45731 16482 -36815 74778 -47389 36007 -34424 48448 -31341 35412 -69202 64129 -47466 45163 -13481 35412 -82208 62440 -52875 24907 -38932 57264 -10312 89301 -99845 66120 -26735 67913 -90820 80814 -64199 30409 -99821 35412 -80212 79866 -54094 23997 -94967 55182 -18831 76412 -69611 88579 -20794 42343 -18926 33757 -17242 60919 -78473 69441 -13515 33757 -84378 73018 -18489 67992 -12314 67269 -29089 69129 -68433 57264 -87740 17015 -78290 55182 -83596 83443 -16316 58265 -45777 36224 -50505 26729 -73351 49921 -23112 72074 -29172 74778 -11572 73018 -63218 98846 -10094 81881 -46797 75255 -27552 29062 -31740 42212 -52505 37612 -84303 79266 -18826 17378 -80340 36224 -69924 35412 -37554 25059 -57758 88579 -12994 75289 -28474 89301 -98133 96823 -59181 89301 -19715 20323 -57509 14174 -48026 73018 -10803 76950 -34768 17015 -73776 75743 -23928 29064 -20765 52954 -44968 17011 -47992 55182 -22902 87954 -42359 79382 -38908 65592 -94050 89301 -25874 89204 -10650 71407 -39759 24477 -17442 70977 -73455 63363 -43244 51733 -36224 63523 -24323 24865 -40462 80381 -77474 80809 -57622 13765 -47172 32125 -51053 71446 -38866 75255 -14536 81935 -18191 34338 -50783 94131 -32218 73018 -65928 98893 -33554 43527 -48966 94596 -68980 96823 -92199 17370 -47624 98708 -81484 96883 -36264 10166 -86887 41536 -56559 20799 -69481 15846 -95563 48609 -48042 94131 -89886 41856 -32235 91508 -75609 74778 -93104 49394 -78119 56999 -73185 31883 -66947 35412 -10279 82579 -74932 79382 -46673 94131 -16885 64129 -50651 42094 -79768 51705 -55122 69129 -75702 26729 -42522 92034 -81922 17576 -67535 92034 -56847 84529 -95298 36007 -79649 30220 -80679 88023 -39366 94131 -72233 72394 -45780 71407 -27048 34309 -72918 27570 -11115 79811 -18720 16379 -78049 89301 -25027 30864 -39170 73018 -72551 36224 -38283 63363 -71042 39139 -93626 65171 -97077 69322 -44993 88579 -99937 36007 -92127 79382 -89301 64129 -34485 96823 -70901 63363 -93765 64129 -22641 47498 -96940 94131 -69328 77254 -48593 33757 -62393 76585 -50116 55182 -31287 88361 -46213 35412 -86316 45354 -52095 63363 -73009 39645 -76994 36224 -52768 96883 -58014 91861 -38328 79382 -86656 28792 -24198 35412 -20644 96823 -80856 48773 -85514 69129 -78541 79504 -89198 69441 -66843 19369 -42847 80534 -10506 71407 -53734 50401 -56950 33757 -10097 42731 -11735 35718 -47055 15050 -62723 96459 -46747 45849 -85689 45896 -26070 33757 -24973 79382 -98067 40236 -10839 60254 -83064 71407 -11426 41587 -53675 88894 -42916 17015 -26729 56376 -85296 18191 -70877 88315 -59363 94131 -90177 91923 -65577 26729 -22974 84529 -82930 88579 -48640 69441 -77227 69768 -21808 71796 -12093 36292 -57834 26729 -85449 79076 -31321 58970 -29147 21478 -54452 96883 -36762 94179 -77729 30525 -38806 95982 -16975 12420 -59754 38283 -92634 96918 -75255 72045 -20579 94596 -10838 30864 -72028 33757 -34045 31285 -10166 54162 -39450 17015 -79156 64765 -99772 88914 -66119 58424 -84505 57996 -79335 23710 -22607 18562 -70069 69129 -56842 82046 -51924 26981 -53971 60458 -63946 36630 -58512 69441 -83844 84320 -73324 33757 -49874 14478 -96638 88579 -25651 92034 -35046 63158 -45863 50172 -33827 11916 -74271 71407 -92141 80677 -26165 94596 -29156 91383 -14258 65553 -99336 57264 -56949 19178 -29951 94131 -80133 26729 -69937 64129 -27282 35509 -37999 64333 -35714 32970 -74778 82464 -65706 63363 -28826 35412 -43880 57264 -65365 11878 -60998 53456 -23464 96883 -63996 71407 -47988 62639 -72134 68309 -43808 17923 -71794 64129 -55139 44545 -68486 70532 -88866 19086 -31014 73174 -25100 32701 -23168 77965 -86321 46763 -56564 97150 -66443 94876 -34574 26729 -18319 55182 -52080 63363 -34903 57264 -10503 73018 -73547 18191 -71407 36363 -14066 10066 -55291 38283 -49333 73182 -85590 31911 -31583 92034 -56885 94596 -10853 84529 -54330 26729 -60526 60376 -73313 37560 -64827 21896 -54707 41377 -78727 89301 -81267 42594 -97418 54093 -48561 90307 -27700 98842 -88852 25642 -27571 26729 -30253 18191 -96823 11966 -15510 28792 -34473 10074 -19128 92715 -66281 16359 -87566 55338 -73327 15839 -90546 73018 -10731 88579 -33757 35881 -53264 77702 -27559 14286 -76671 43247 -14652 56992 -66269 16975 -68360 35412 -47909 37394 -34184 27993 -56983 96823 -46159 47334 -17929 19802 -19939 33757 -54638 51325 -81041 71407 -82318 16975 -36922 87710 -37124 35412 -97802 99288 -44780 41201 -41587 29901 -79382 94596 -58560 24533 -49390 75255 -64184 64129 -63363 13174 -31139 94913 -41545 45809 -31298 79382 -27867 20831 -31915 89301 -57731 54824 -16568 39610 -37837 71407 -67097 36007 -66230 62450 -72316 10166 -93233 90637 -53568 38068 -30604 35412 -52867 72154 -94676 13310 -64541 64129 -75970 94040 -84132 63836 -23468 69030 -41002 63111 -25437 73018 -73367 89016 -61905 28740 -58157 57264 -40049 75255 -88306 88579 -41571 13741 -63613 86935 -81673 72916 -55528 60139 -27726 79382 -76018 20831 -93265 23625 -67182 26729 -21149 13330 -25611 84529 -84359 94134 -98940 88075 -91702 53729 -49126 92878 -67287 87543 -13917 96823 -38327 71407 -94612 12864 -55182 45518 -43277 74778 -31570 15210 -75076 69063 -80682 89301 -22072 69129 -12519 75255 -76313 64129 -67075 96823 -65234 57699 -43693 72346 -89876 29062 -17665 92034 -33737 36661 -91753 36730 -59183 43449 -14540 67538 -74552 79382 -12545 26729 -51062 30818 -96261 36224 -17961 86727 -41550 88380 -44693 18191 -56353 97146 -26427 68693 -10521 55270 -50199 78554 -55779 71477 -13694 71407 -84529 35412 -28117 94596 -28792 79382 -86182 23320 -72131 80477 -49826 74426 -34390 74778 -74094 16341 -69129 34543 -50073 92706 -37199 88579 -37972 32503 -88066 55182 -84391 31812 -33375 89622 -84125 64129 -68050 62191 -80017 35566 -89775 80938 -43499 69441 -93020 48741 -28839 69441 -65343 71722 -82862 46646 -35994 75255 -94975 88579 -66142 36828 -65082 26265 -85699 45338 -49094 65410 -89012 69332 -12731 32597 -12574 50774 -23300 79382 -59711 20831 -48379 19665 -26444 73931 -94298 55575 -64549 25462 -85255 33757 -18260 15074 -89345 39774 -47964 96883 -30500 75255 -40701 13580 -85115 63598 -56810 57264 -49698 74778 -60564 57264 -16225 71407 -89966 85122 -61233 14073 -31511 41588 -33945 73524 -98473 31768 -41456 64129 -85038 87448 -73588 96883 -25283 86498 -33280 13657 -49275 20323 -87664 77882 -47908 57264 -33245 58814 -42158 28925 -22933 72601 -60641 63363 -79702 44349 -78739 17205 -22561 96035 -43533 21008 -71914 12918 -14862 15368 -17015 89301 -73903 93498 -43166 85414 -90888 78097 -43451 33757 -99167 55182 -71516 86059 -51747 78573 -37581 94131 -12993 79382 -32228 96328 -69475 33757 -54981 23543 -81379 33567 -80367 35412 -58566 94131 -26053 35412 -77442 80466 -70340 17984 -83405 14607 -59197 85280 -98773 49233 -32734 94596 -53611 52671 -45926 94927 -53823 53295 -31731 20323 -97782 95936 -92678 43308 -98973 47522 -63484 89301 -29604 60237 -74422 93965 -80370 58449 -89621 75255 -27363 31734 -11198 90186 -88033 42157 -93444 24578 -35116 55182 -16393 73018 -33628 38645 -67211 57264 -24757 20323 -73181 35191 -24567 76180 -84081 15390 -34345 10519 -21185 17015 -33414 96823 -30310 72888 -24352 57264 -56004 14161 -14492 39140 -47871 75255 -42912 92034 -91823 36007 -46731 73158 -24112 74778 -92034 95808 -77157 89301 -29215 99938 -37580 89301 -73593 36007 -11075 96823 -49084 34885 diff --git a/data/Y2024/D02/riddle b/data/Y2024/D02/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D03/riddle b/data/Y2024/D03/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D04/riddle b/data/Y2024/D04/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D05/riddle b/data/Y2024/D05/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D06/riddle b/data/Y2024/D06/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D07/riddle b/data/Y2024/D07/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D08/riddle b/data/Y2024/D08/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D09/riddle b/data/Y2024/D09/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D10/riddle b/data/Y2024/D10/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D11/riddle b/data/Y2024/D11/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D12/riddle b/data/Y2024/D12/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D13/riddle b/data/Y2024/D13/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D14/riddle b/data/Y2024/D14/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D15/riddle b/data/Y2024/D15/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D16/riddle b/data/Y2024/D16/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D17/riddle b/data/Y2024/D17/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D18/riddle b/data/Y2024/D18/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D19/riddle b/data/Y2024/D19/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D20/riddle b/data/Y2024/D20/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D21/riddle b/data/Y2024/D21/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D22/riddle b/data/Y2024/D22/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D23/riddle b/data/Y2024/D23/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D24/riddle b/data/Y2024/D24/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/data/Y2024/D25/riddle b/data/Y2024/D25/riddle deleted file mode 100644 index e69de29..0000000 diff --git a/src/AoC.hs b/src/AoC.hs index 3fd4064..28ae754 100644 --- a/src/AoC.hs +++ b/src/AoC.hs @@ -15,7 +15,6 @@ import System.IO (hPutStrLn) import System.IO.Error qualified as IOError import AoC.Y2023 qualified as Y2023 -import AoC.Y2024 qualified as Y2024 runAoC :: (MonadIO m) => Year -> Day -> m (Either Text Solution) runAoC y d = do @@ -29,7 +28,6 @@ runAoCExample y d = do solve :: (MonadIO m) => Year -> Day -> Riddle -> m (Either Text Solution) solve Y2023 = Y2023.solve -solve Y2024 = Y2024.solve solve y = \_ _ -> pure $ Left $ show y <> ": not implementedi" handleError :: IOError.IOError -> IO () @@ -41,4 +39,4 @@ printResult (Left e) = putTextLn e printResult (Right s) = print s defaultMain :: IO () -defaultMain = Exception.catch (runAoC Y2024 D01 >>= printResult) handleError +defaultMain = Exception.catch (runAoC Y2023 D05 >>= printResult) handleError diff --git a/src/AoC/Y2024.hs b/src/AoC/Y2024.hs deleted file mode 100644 index 87b2b00..0000000 --- a/src/AoC/Y2024.hs +++ /dev/null @@ -1,57 +0,0 @@ -module AoC.Y2024 (solve) where - -import AoC.Day -import AoC.Riddle - -import AoC.Y2024.D01 qualified as D01 -import AoC.Y2024.D02 qualified as D02 -import AoC.Y2024.D03 qualified as D03 -import AoC.Y2024.D04 qualified as D04 -import AoC.Y2024.D05 qualified as D05 -import AoC.Y2024.D06 qualified as D06 -import AoC.Y2024.D07 qualified as D07 -import AoC.Y2024.D08 qualified as D08 -import AoC.Y2024.D09 qualified as D09 -import AoC.Y2024.D10 qualified as D10 -import AoC.Y2024.D11 qualified as D11 -import AoC.Y2024.D12 qualified as D12 -import AoC.Y2024.D13 qualified as D13 -import AoC.Y2024.D14 qualified as D14 -import AoC.Y2024.D15 qualified as D15 -import AoC.Y2024.D16 qualified as D16 -import AoC.Y2024.D17 qualified as D17 -import AoC.Y2024.D18 qualified as D18 -import AoC.Y2024.D19 qualified as D19 -import AoC.Y2024.D20 qualified as D20 -import AoC.Y2024.D21 qualified as D21 -import AoC.Y2024.D22 qualified as D22 -import AoC.Y2024.D23 qualified as D23 -import AoC.Y2024.D24 qualified as D24 -import AoC.Y2024.D25 qualified as D25 - -solve :: (MonadIO m) => Day -> Text -> m (Either Error Solution) -solve D01 = D01.solve -solve D02 = D02.solve -solve D03 = D03.solve -solve D04 = D04.solve -solve D05 = D05.solve -solve D06 = D06.solve -solve D07 = D07.solve -solve D08 = D08.solve -solve D09 = D09.solve -solve D10 = D10.solve -solve D11 = D11.solve -solve D12 = D12.solve -solve D13 = D13.solve -solve D14 = D14.solve -solve D15 = D15.solve -solve D16 = D16.solve -solve D17 = D17.solve -solve D18 = D18.solve -solve D19 = D19.solve -solve D20 = D20.solve -solve D21 = D21.solve -solve D22 = D22.solve -solve D23 = D23.solve -solve D24 = D24.solve -solve D25 = D25.solve diff --git a/src/AoC/Y2024/D01.hs b/src/AoC/Y2024/D01.hs deleted file mode 100644 index 3a880d6..0000000 --- a/src/AoC/Y2024/D01.hs +++ /dev/null @@ -1,39 +0,0 @@ -module AoC.Y2024.D01 (solve) where - -import AoC.Riddle -import Data.IntMap qualified as M - -parse :: Text -> ([Int], [Int]) -parse riddle = - let - lists = transpose $ mapMaybe (readMaybe . toString) . words <$> lines riddle - in - case lists of - [as, bs] -> (as, bs) - _ -> ([], []) - -part1 :: Riddle -> Int -part1 riddle = - let - (as, bs) = parse riddle - as' = sort as - bs' = sort bs - distances = zipWith (\a b -> if a > b then a - b else b - a) as' bs' - in - sum distances - -mkOccurrences :: [Int] -> IntMap Int -mkOccurrences = M.unionsWith (+) . fmap (\i -> one (i, 1)) - -part2 :: Riddle -> Int -part2 riddle = - let - (as, bs) = parse riddle - occurrences = mkOccurrences bs - step a total = total + a * fromMaybe 0 (M.lookup a occurrences) - in - foldr step 0 as - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve riddle = do - pure $ Right [fromIntegral $ part1 riddle, fromIntegral $ part2 riddle] diff --git a/src/AoC/Y2024/D02.hs b/src/AoC/Y2024/D02.hs deleted file mode 100644 index b4ca1ed..0000000 --- a/src/AoC/Y2024/D02.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D02 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D03.hs b/src/AoC/Y2024/D03.hs deleted file mode 100644 index 0e41568..0000000 --- a/src/AoC/Y2024/D03.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D03 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D04.hs b/src/AoC/Y2024/D04.hs deleted file mode 100644 index eaacb21..0000000 --- a/src/AoC/Y2024/D04.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D04 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D05.hs b/src/AoC/Y2024/D05.hs deleted file mode 100644 index 0ea5b81..0000000 --- a/src/AoC/Y2024/D05.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D05 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D06.hs b/src/AoC/Y2024/D06.hs deleted file mode 100644 index 92a5945..0000000 --- a/src/AoC/Y2024/D06.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D06 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D07.hs b/src/AoC/Y2024/D07.hs deleted file mode 100644 index 064c7b0..0000000 --- a/src/AoC/Y2024/D07.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D07 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D08.hs b/src/AoC/Y2024/D08.hs deleted file mode 100644 index 5da393e..0000000 --- a/src/AoC/Y2024/D08.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D08 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D09.hs b/src/AoC/Y2024/D09.hs deleted file mode 100644 index 2e03abe..0000000 --- a/src/AoC/Y2024/D09.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D09 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D10.hs b/src/AoC/Y2024/D10.hs deleted file mode 100644 index cb666c3..0000000 --- a/src/AoC/Y2024/D10.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D10 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D11.hs b/src/AoC/Y2024/D11.hs deleted file mode 100644 index 44ccaab..0000000 --- a/src/AoC/Y2024/D11.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D11 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D12.hs b/src/AoC/Y2024/D12.hs deleted file mode 100644 index 680e628..0000000 --- a/src/AoC/Y2024/D12.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D12 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D13.hs b/src/AoC/Y2024/D13.hs deleted file mode 100644 index b69f0df..0000000 --- a/src/AoC/Y2024/D13.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D13 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D14.hs b/src/AoC/Y2024/D14.hs deleted file mode 100644 index 29cbfd9..0000000 --- a/src/AoC/Y2024/D14.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D14 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D15.hs b/src/AoC/Y2024/D15.hs deleted file mode 100644 index 16f8f89..0000000 --- a/src/AoC/Y2024/D15.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D15 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D16.hs b/src/AoC/Y2024/D16.hs deleted file mode 100644 index 11f2ebf..0000000 --- a/src/AoC/Y2024/D16.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D16 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D17.hs b/src/AoC/Y2024/D17.hs deleted file mode 100644 index 1346a16..0000000 --- a/src/AoC/Y2024/D17.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D17 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D18.hs b/src/AoC/Y2024/D18.hs deleted file mode 100644 index 67f8bb5..0000000 --- a/src/AoC/Y2024/D18.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D18 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D19.hs b/src/AoC/Y2024/D19.hs deleted file mode 100644 index 5956915..0000000 --- a/src/AoC/Y2024/D19.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D19 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D20.hs b/src/AoC/Y2024/D20.hs deleted file mode 100644 index 351b34e..0000000 --- a/src/AoC/Y2024/D20.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D20 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D21.hs b/src/AoC/Y2024/D21.hs deleted file mode 100644 index 8f54fee..0000000 --- a/src/AoC/Y2024/D21.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D21 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D22.hs b/src/AoC/Y2024/D22.hs deleted file mode 100644 index 4a05240..0000000 --- a/src/AoC/Y2024/D22.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D22 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D23.hs b/src/AoC/Y2024/D23.hs deleted file mode 100644 index 9ea1b5b..0000000 --- a/src/AoC/Y2024/D23.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D23 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D24.hs b/src/AoC/Y2024/D24.hs deleted file mode 100644 index 35c22c8..0000000 --- a/src/AoC/Y2024/D24.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D24 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Y2024/D25.hs b/src/AoC/Y2024/D25.hs deleted file mode 100644 index ac69aef..0000000 --- a/src/AoC/Y2024/D25.hs +++ /dev/null @@ -1,6 +0,0 @@ -module AoC.Y2024.D25 (solve) where - -import AoC.Riddle - -solve :: (MonadIO m) => Text -> m (Either Text Solution) -solve _ = pure $ Left "not yet implemented" diff --git a/src/AoC/Year.hs b/src/AoC/Year.hs index 3a91d29..0576478 100644 --- a/src/AoC/Year.hs +++ b/src/AoC/Year.hs @@ -2,6 +2,5 @@ module AoC.Year (Year (..)) where data Year = Y0000 - | Y2024 | Y2023 deriving stock (Read, Show, Eq, Ord, Enum) diff --git a/test/spec/AoCSpec/Y2024Spec.hs b/test/spec/AoCSpec/Y2024Spec.hs deleted file mode 100644 index 3a08130..0000000 --- a/test/spec/AoCSpec/Y2024Spec.hs +++ /dev/null @@ -1,28 +0,0 @@ -module AoCSpec.Y2024Spec (spec) where - -import AoC -import Test.Hspec - -spec :: Spec -spec = do - describe "Day 1" do - it "calculates correctly" do - runAoC Y2024 D01 `shouldReturn` Right [2580760, 25358365] - -{- - describe "Day 2" do - it "calculates correctly" do - runAoC Y2024 D02 `shouldReturn` Right [2369, 66363] - - describe "Day 3" do - it "calculates correctly" do - runAoC Y2023 D03 `shouldReturn` Right [528799, 84907174] - - describe "Day 4" do - it "calculates correctly" do - runAoC Y2023 D04 `shouldReturn` Right [24542, 8736438] - - describe "Day 5" do - it "calculates the example correctly" do - runAoCExample Y2023 D05 `shouldReturn` Right [35] --}