From dbabcf2dfc8baa865a2768bf4baa2bd0f13bd2f8 Mon Sep 17 00:00:00 2001 From: Steve Mao Date: Mon, 18 May 2020 11:12:15 +1000 Subject: [PATCH] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 2233331..e972f46 100644 --- a/readme.md +++ b/readme.md @@ -21,7 +21,7 @@ Loops have four main problems: [Off-by-one error](https://en.wikipedia.org/wiki/ > Simple English: No refactoring -Many developers hate it when there's change of requirements, because they have spent so much time on writing performant and bug-free code. When there's new requirements, you'll have to restructure your code and update your unit tests. Can you move your loops freely in your codebase? probably not, because there must be side effects or mutations. Long loops and nested loops are unavoidable because of performances and this breaks [rule of least power](https://en.wikipedia.org/wiki/Rule_of_least_power). Languages such as Haskll uses [fusion](https://stackoverflow.com/questions/38905369/what-is-fusion-in-haskell) to "merge" iterations. [Wholemeal programming](https://www.quora.com/What-is-wholemeal-programming) is a nice pattern to make code modular and reusable. +Many developers hate it when there's change of requirements, because they have spent so much time on writing performant and bug-free code. When there's new requirements, you'll have to restructure your code and update your unit tests. Can you move your loops freely in your codebase? probably not, because there must be side effects or mutations. Big loops and nested loops are inevitable sometimes for performance reasons. You could do anything in a loop including uncontrolled side effects and therefore, it often breaks [rule of least power](https://en.wikipedia.org/wiki/Rule_of_least_power). Languages such as Haskll uses [fusion](https://stackoverflow.com/questions/38905369/what-is-fusion-in-haskell) to "merge" iterations. [Wholemeal programming](https://www.quora.com/What-is-wholemeal-programming) is a nice pattern to make code modular and reusable. ### Runtime performance