As record slot's value retrieval (I love old lisp terminology) could be viewed as a pure function (given the record as a parameter) it is reasonable to think of .slot as a function.
The old classic languages just create so-called selectors in the global namespace, like defstruct macro does. This is not the best possible solution.
However, the . is used for function composition, so the better alternative could be the -> syntax, reflecting that in Haskell everything is a pointer.