Hi Luis, > In the above example, I used `in` and the call to `parseLink` works fine.
OK > But > (client "picolisp.com" 80 "wiki/?home" > (while (from "<a href=\"") > (parseLink (till "<")))) > > does not. AFAICT, each while cycle returns a list which in my view > would be used as an argument to `parseLink`, but it doesn't work as I > expect. `in` opens an input channel, `client` seems to me to return a > list. Hmm, as I said, it depends on what 'parseLink' does. However the lists of characters (i.e. the chopped URLs) should be passed. I tried this: (client "picolisp.com" 80 "wiki/?home" (make (while (from "<a href=\"") (link (till "<" T)) ) ) ) and get a list of strings. > I tried to save the whole html file with a `out`, before the `client` > ... > (out "hh.html" > (client "picolisp.com" 80 "wiki/?home")) This is not a good idea, because 'client' opens its own 'out' back to the server. You need it inside of 'client', e.g. (client "picolisp.com" 80 "wiki/?home" (out NIL (echo)) ) BTW, this is the most basic call to see what 'client' does. > Also tried to append to a file with each iteration: > (client "picolisp.com" 80 "wiki/?home" > (while (from "<a href=\"") > (out "+hh.html" > (msg (till "<"))))) Hmm, this is also not a good idea. 'msg' prints to stderr, so nothing gets printed into "hh.html". Besides this, the (out "+xxx) is OK, however quite some overhead because it is re-opened and closed all the time. Better would be (client .. (out "hh.html" (while (from "... (println (till "<")) .. This will print the lists to the file. > Frustation is high right now... :-( Sorry to hear that! But I think we are getting closer ;) ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe