Thank you. Could you explain this code: (load "@test/src/main.l" "@test/src/apply.l" "@test/src/flow.l" "@test/src/sym.l" "@test/src/subr.l" "@test/src/big.l" "@test/src/io.l" "@test/src/db.l" "@test/src/net.l" "@test/src/ext.l" "@test/src/ht.l" )
How is the "@" character being used here? In this case it is for "home directory substitution". The PL interpreter remembers the pathname from which it was called and that path can be referenced using '@'. Say you have a local PL installation residing in the directory /home/you/picoLisp and you want to start the interpreter with the HTTP library loaded. You can just write [picoLisp]$ ./pil @lib/http.l + Instead of [picoLisp]$ ./pil /home/you/picoLisp/lib/http.l + Kind of a convoluted example, maybe. So all the '@test/...'s from above mean to load different files from the 'test' directory of the particular PL installation that was called. '@' is a particularly context sensitive symbol in PL. Here's a quick reference to help you sort out the different uses: http://picolisp.com/wiki/?AtMark Best, Erik
