Pointers and references: Difference between revisions
Content added Content deleted
(Added EchoLisp) |
|||
Line 444: | Line 444: | ||
to walkThrough() { require(open) } |
to walkThrough() { require(open) } |
||
} |
} |
||
=={{header|EchoLisp}}== |
|||
No pointers in EchoLisp. '''Boxes ''' or vectors can be used to perform call-by-reference operations. |
|||
<lang scheme> |
|||
(define B (box 42)) |
|||
→ B ;; box reference |
|||
(unbox B) |
|||
→ 42 ;; box contents |
|||
;; sets new value for box contents |
|||
(define ( change-by-ref abox avalue) |
|||
(set-box! abox avalue) ) |
|||
(change-by-ref B 666) |
|||
→ #[box 666] |
|||
(unbox B) |
|||
→ 666 |
|||
</lang> |
|||
=={{header|Forth}}== |
=={{header|Forth}}== |