I am trying to understand this example from the reference:
(prog1  # Parallel background calculation of square numbers (mapcan '((N) 
(later (cons) (* N N))) (1 2 3 4)) (wait NIL (full @)) )

Could you please explain how it works, because it has many interrelated pieces: 
cons,mapcan, wait that I thought I understood individually but still I do not 
understand the example.

But it is a very practical example, so I would like to understand it fully.

Also, what is the role of prog1. Does it control what is passed to the wait?

Another confusing thing is the "@". How does one find which of the previous 
functions updated the @, and which did not. I know that control functions 
generally update the @, but still it is difficult to read the above example and 
decide where the @ is being generated (perhaps only for a newcomer like me).


Reply via email to