goer@SOPHIST.UCHICAGO.EDU (Richard Goerwitz) (07/25/90)
Mixed in with a recent posting on another topic, I suggested that p{a,b,c...} might possibly be extended to p{a;b;c}, where ; is actually intended to represent a comma, semicolon, or new- line. This would permit the creation of user-defined control structures that *looked* like control structures. I.e. instead of p{a,b,c} you could just write p { a b c etc. } This just looks to me like a control structure. In the case of my list scanning routines, it would permit me to say - l_scan(l) { junk1 junk2 etc. } The procedure l_scan would set up l_POS and l_SUBJ (the list equiva- lents to &pos and &subject), and then return a control procedure (call it setup_scan). Setup_scan(lst[]) would then simply execute each of its args, noting whether they were a break or next or some other control structure that might necessitate ending the scanning operation. If encountered, l_POS and l_SUBJ could be restored cor- rectly, and the loop could be terminated, just as with regular string scans. I've got another idea I'd be interested in hearing ideas about. Why not let &null limiters work like no limiters at all? Just curious. Often I change the amount of backtracking on the fly, and I find it rather awkward to use backslashes and what not to try to find a way to get a \ expression to do no limitation at all. Is there some easy and elegant way I'm overlooking? -Richard L. Goerwitz goer%sophist@uchicago.bitnet goer@sophist.uchicago.edu rutgers!oddjob!gide!sophist!goer