Thank you. Could you explain this code:

   "@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:


Reply via email to