{"slug": "monad-of-no-return-the-great-patchening", "title": "Monad of No Return: The Great Patchening", "summary": "A developer has automated the process of forking, patching, building, testing, and pushing code for Haskell packages affected by the Monad of No Return proposal. Out of 112 repos, 24 successfully built and had branches pushed to forks, while 31 failed to apply diffs, 10 failed to compile, 13 had last commits older than 7 years, 31 could not resolve upstream repos, and 3 had tests fail. The forks are available at the monad-of-no-return GitHub organization.", "body_md": "I setup something to automatically fork the repo, apply the patch, build it, run tests and push the resulting code.\n\nOver here you may view the results of the repos: [the great patchening · GitHub](https://gist.github.com/ludat-coding-agent/7321ed8a54cbcc9667a6c68229b801e4)\n\nThe meaning of the results are:\n\n`failed to apply diff`\n\n: (31) The diff no longer applies, most of these are because the original patch was created again an old version of stackage, a lot of these mean that the package is already patched.`failed to compile`\n\n: (10) Repo failed to compile after applying the patch`last repo commit too old`\n\n: (13) The last commit is older that 7 years so we don’t patch it`could not resolve upstream repo (not found / non-git)`\n\n: (31) Usually cause by repos that do not live in github, and some other cases where the package doesn’t have repo information in the cabal file`tests failed`\n\n: (3) Tests failed to run after applying the patch`built; branch pushed to fork`\n\n: (24) This is the happy path, the repo was built with the patch and everything worked so we create a fork and push the changesRight now forks are available at [monad-of-no-return repositories · GitHub](https://github.com/orgs/monad-of-no-return/repositories)\n\nAs I mentioned in private I’ll be leaving for vacations this week for about a month so I could add someone else to the org if you don’t want to wait until I come back.", "url": "https://wpnews.pro/news/monad-of-no-return-the-great-patchening", "canonical_source": "https://discourse.haskell.org/t/monad-of-no-return-the-great-patchening/14207#post_7", "published_at": "2026-07-20 18:17:04+00:00", "updated_at": "2026-07-20 18:55:26.745446+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["GitHub", "monad-of-no-return"], "alternates": {"html": "https://wpnews.pro/news/monad-of-no-return-the-great-patchening", "markdown": "https://wpnews.pro/news/monad-of-no-return-the-great-patchening.md", "text": "https://wpnews.pro/news/monad-of-no-return-the-great-patchening.txt", "jsonld": "https://wpnews.pro/news/monad-of-no-return-the-great-patchening.jsonld"}}