- From: Graham Klyne <GK-lists@ninebynine.org>
- Date: Sat, 26 Feb 2005 08:11:33 +0000
- To: Dave Beckett <dave.beckett@bristol.ac.uk>
- Cc: public-cwm-talk@w3.org
At 09:56 25/02/05 +0000, Dave Beckett wrote: > > -- \c > > charEsc = choice (map parseEsc escMap) > > where > > parseEsc (c,code) = do { char c; return code } > > escMap = zip ("nrt\\\"\'") ("\n\r\t\\\"\'") > >... > >I can't decode what that means but is it allowing \n \r \r \\ \" and >\' ? Yes. (I agree that's a bit obscure if you're not used to reading this kind of code. 'choice' is a higher order function that creates an alternative-parser from a list of parsers, 'parseEsc' creates a single parser from a pair (match-char,return-char), and 'zip' combines two lists into a list of pairs.) As to whether this is the Right Thing, it's entirely possible that I took the specification from Python, but I couldn't swear to that. #g ------------ Graham Klyne For email: http://www.ninebynine.org/#Contact
Received on Saturday, 26 February 2005 08:19:27 UTC