Re:Functors, applicatives, and monads in pictures
by chongli on Sunday May 19, 2013 @03:43PM
(#5734136)
No, that's an example of recursion. With recursion you aren't mutating the variable, you're shadowing its definition. This is a subtle, but important, distinction.
[ Parent
| on HN ]
Re:Functors, applicatives, and monads in pictures
by Gravityloss on Sunday May 19, 2013 @04:51PM
(#5734348)
Recursion? The "function" is not calling itself at all. I'm quite sure that is not recursion, neither in the mathematical nor computer science sense.
Re:Functors, applicatives, and monads in pictures
by chongli on Sunday May 19, 2013 @05:57PM
(#5734570)
Recursion is how you implement a sum without mutation (an imperative loop is how you'd implement it with mutation). You've merely given me the function written in a declarative notation.
Re:Functors, applicatives, and monads in pictures
by Gravityloss on Tuesday May 21, 2013 @11:54AM
(#5744509)
I think we are talking about different things.
For example, if you integrate x^2 dx from x=0 to 10, x changes continuously.
It's clear that x is not fixed to any particular value.
Re:Functors, applicatives, and monads in pictures
by chongli on Wednesday May 29, 2013 @05:32AM
(#5785400)
Yeah, you're talking about the mathematical definition of a bound variable. Functional programming languages use this whenever you define a function:
foo x = x * 2
Every time you call foo, x is bound to a new value (but only within the scope of foo). This is not the same as mutating some memory location associated with the name x.