Wie Jari sagte, in der Regel möchten Sie die Übergabe durch Verweis in Scheme vermeiden, da es darauf hindeutet, dass Sie Seiteneffekte missbrauchen.
Wenn Sie möchten, können Sie jedoch alles, was Sie als Referenz übergeben möchten, in eine cons
Box.
(cons 5 (void))
ergibt eine Schachtel mit 5. Wenn Sie diese Box an eine Prozedur übergeben, die die 5 in eine 6 ändert, enthält Ihre ursprüngliche Box ebenfalls eine 6. Natürlich müssen Sie daran denken cons
y car
wenn es angebracht ist.
Chez Scheme (und möglicherweise andere Implementierungen) hat eine Prozedur namens box
(und seine Begleiter box?
y unbox
) speziell für diesen Boxen/Unboxen-Unsinn: http://www.scheme.com/csug8/objects.html#./objects:s43