In math, we often say the limit of a function. This is not precise. A better phase is “the limit of a function at a point” since limits are always defined with respect to a function and a point.

Say we have a function $$f$$ and we want to find the limit at the point $$p$$. We can write $$lim_{x \to p} f(x)$$ as $$l(f,p)$$ to emphasize that the limit is a binary function, with the following type signature (in Haskell):

lim :: (a -> b) -> a -> b


Except that it’s not quite a function. The limit does not always exist at a point. So perhaps a better type signature is

lim :: (a -> b) -> a -> Maybe b