I\'ve frequently heard claims that Haskell doesn\'t have variables; in particular, this answer claims that it doesn\'t, and it was upvoted at least nine times and accepted.<
Haskell has immutable variables (variables in the math sense) by default:
foo x y = x + y * 2
By default variables are not mutable cells.
Haskell also has mutable cells though, but you enable them explicitly:
> import Data.IORef (newIORef, readIORef, writeIORef)
> v <- newIORef 0
> readIORef v
0
> writeIORef v 7
> readIORef v
7
So, YES Haskell has true variables. But it does not use mutable variables by default.