Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

https://en.wikipedia.org/wiki/Memoization

> In computing, memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls to pure functions and returning the cached result when the same inputs occur again. Memoization has also been used in other contexts (and for purposes other than speed gains), such as in simple mutually recursive descent parsing.[1] It is a type of caching, distinct from other forms of caching such as buffering and page replacement. In the context of some logic programming languages, memoization is also known as tabling.[2]

It includes citations so I won't bother repeating them. Memoization is caching, there is no confusion about this in the literature.



Because Wikipedia has never been wrong and doesn’t suffer from dilution.

The distinction I am making is that caching is not memoization.

> It is a type of caching, distinct from other forms of caching

Distinct. As in not to be confused with.


If I wrote "a square is a rectangle" would you also waste time shouting that rectangles aren't squares? I didn't write that all rectangles are squares. Nor did I write that all caching is memoization.

Even your quote doesn't support your quibbling. It says that memoization is distinct from other forms of caching. Which does not mean that it is not a form of caching.

EDIT: Removed a particularly rude bit.


All dogs are mammals, but not all mammals are dogs.


If everyone starts talking about dogs every time you mention mammals, eventually you will get touchy about it.

Yeah, dogs are great. But so are cats, and llamas.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: