The two values are the address of a thunk and the stack frame of the caller. You could pass two thunks and the stack frame, but you can't just pass the thunks.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List <[email protected]> on behalf of Martin Ward <[email protected]> Sent: Tuesday, February 13, 2018 3:18 PM To: [email protected] Subject: Re: Call by name On 13/02/18 17:09, Seymour J Metz wrote: > Something just occurred to me with regard to call by name. There are > no SETS and USES attributes in an Algol 60 parameter declaration. If > a parameter is used as an l-value, there is a potential problem. A > value like A[I] is legitimate on either side of an assignment, but a > value like A[I]+1 is valid only on the right. Someone on this list that the implementation of call by name would pass two functions (addresses of blocks of code): one which computed the value of the parameter in the caller's environment and the other computed the address to store a value. For a parameter like A[I]+1 which cannot be assigned to, the second function would cause a runtime error. -- Martin Dr Martin Ward | Email: [email protected] | http://secure-web.cisco.com/1_96WMagZOzrP5aCigoyOwA5LtekIj_6QFcDq_TtjLSBpZV2JdXsBsiXPrYFYqjhEprYpPXumCjWJzJGX8XvbDxudc3KneyptarH7migLfCGdPPJsPtcW4LzIJHyRApMCZlch8pTLYBaNtNwUZ5hVNjegWa9Nw_O8BAnyeVGwRStQ-0YiS5oBtwdKs19Z13Bu1KvqMOgCZjpjJisD4aBb3Xgsbhce_oZutpsRn3tzhOUj_xFxibc0PrRf79qn13Gh9G8RVXZICVMY8SWYs3cBFlh06mnkGhnS4xdBHOTL8mRTeZTHa7Zefiuyh7Kf9TyXgFXMsTKJQ93oEH5tYFNZvqyi4X1dWDtBo1vXLZE75Gco6PlDV7SAmGiS4EWg5jT2I5wL6_f8d7lM_FJJOc9lt7hA6nx5_JMoOV6wPNiUvSnXStmMf1swKo5nGc8SJI0D/http%3A%2F%2Fwww.gkc.org.uk G.K.Chesterton site: http://secure-web.cisco.com/1v3M4w3ZxL6Vm5ONON2Ior4tWGASAybTQkbaszHKfEVrERflfJn-A4_Vb2oRa5hWkiRbBb4OX_O1CEvo_UCh46RQx73CNcVybBjwiDJD4SOk5PYklGkMi1kGjaRb5vu6C1k8-SbJDekH0Y_xjS1xPt7IPe_nRoTwwwoUGOh7c6tDjGZ2mbg13jyGHuiiEoAzoOZksUFHVZmzde-Rw-EYmYtLEQ5oDQBDM6dwxbKyNwzJGfqmrOlw0D7GTLEsY4Bringl3apXKHYWpT22lW4mYknT4Ha03pVYS9zxvv-WeZr_lc_OVXr8QqtUFBzCDTUdVMVgk3_C4NsPl0aSVFfEMY9MOf23n8ZsXhHGHCZCThMUztXymrQzA013jmwtigdTeDSyRiyiZiunBRdi5B6NNh5RylT62Ph7fXCjxpcIfjo1XN5MK1wklvnl5hLjTh6QQ/http%3A%2F%2Fwww.gkc.org.uk%2Fgkc | Erdos number: 4
