Hacker News new | ask | show | jobs
by bjourne 4898 days ago
Here is some of my code to parse html:

    tstamp <- this ! "data-timestamp" >>> arr parseTime -< el
    (path, score) <- css "td[class~=score-time] a" >>>
        (this ! "href") &&& (getAllText >>> arr parseScore) -< el
So yes, you do have to learn about arrow syntax in order to use HXT efficiently. For most newbies it is not an easy concept to grasp, not helped by the fact that HXT isn't a very well documented library.
2 comments

    tstamp <- this ! "data-timestamp" >>> arr parseTime -< el
This, on the other hand, is one of the thing I don't like about Haskell: there are 4 operators on this line, and no easy way to see, at a glance, their precedence. Also, some operators are "mentally interpreted" as flowing data left to right or right to left; changing the direction mid-statement, I find confusing. I have the same problem when unix shell commands are expressed like this:

    program < input > output
"Use >>> like a pipe in unix" is not an easy concept to grasp?