4 ms·
When the post makes an argument that Git _is_ a functional data structure, this refers to a mental model of how to think about git. Of course there are mutable
by alipang 14y ago
When the post makes an argument that Git _is_ a functional data structure, this refers to a mental model of how to think about git.
Of course there are mutable elements, such as branch pointers etc. Also, a functional data structure also does non-functional tings underneath, such as modifying references. The important thing to note is that it provides a _view_ that can be thought of as immutable and functional.
- richo 14y agoMy point is that "functional" is meaningless in this context. "Compatible with purely functional programming" maybe, but "functional" tells you nothing, especially when you can't embed computation (functions) in a git database without some extra abstraction.