[Haskell-cafe] what are the points in pointsfree?
Cale Gibbard
cgibbard at gmail.com
Fri Dec 15 19:17:36 EST 2006
On 15/12/06, Scott Brickner <scottb at brickner.net> wrote:
>
> Donald Bruce Stewart wrote:
> sdowney:
>
>
> i'm not naive enough to think they are the composition function, and
> i've gathered it has something to do with free terms, but beyond that
> i'm not sure. unless it also has something to do with fix points?
>
> The wiki knows all! :)
>
> http://haskell.org/haskellwiki/Pointfree
>
> 1 But pointfree has more points!
>
> A common misconception is that the 'points' of pointfree style are the (.)
> operator (function composition, as an ASCII symbol), which uses the same
> identifier as the decimal point. This is wrong. The term originated in
> topology, a branch of mathematics which works with spaces composed of
> points,
> and functions between those spaces. So a 'points-free' definition of a
> function
> is one which does not explicitly mention the points (values) of the space
> on
> which the function acts. In Haskell, our 'space' is some type, and 'points'
> are
> values.
>
> Hm. I've been lurking for a while, and this might be a bit of nit-picking
> as my first post, especially given I'm still a bit of a n00b in Haskell.
> I've been programming a long time, though - coming up on three decades now
> and virtually all of it really programming, no management.
>
> Anyway, as I understood it, the "points" were the terminal objects of the
> category in which you're working - in this case, pointed continuous partial
> orders (CPO), and the points are effectively values in the domain. The usage
> of "point" for terminal objects comes from the category of topological
> spaces, as you say,. and algebraic topology is where category theory found
> it's first big home - but that's not really what we're talking about here,
> is it?
The point that the wiki article is trying to make is that the term
"points-free" was first used in the context of algebraic topology, and
generalised quickly from there. This may have even been before people
were making the generalisation from elements of a set with a topology
on it to maps from a terminal object to the space in question. It's a
bit of a coincidence that the theory which we're using to describe the
semantics of programs is topological in nature, the term would likely
have found use here without that.
- Cale
More information about the Haskell-Cafe
mailing list