[Openmcl-devel] consing
Pascal J. Bourguignon
pjb at informatimago.com
Tue May 14 10:47:42 PDT 2013
Taoufik Dachraoui <dachraoui.taoufik at gmail.com> writes:
> Or, how do you implement a VM using CCL for a new language? (any
> thing offered by CCL even if it is not
> standard would be acceptable).
You would implement a VM stack as a vector with a fill-pointer, possibly
adjustable if you want to allow the stack to grow over the initial size.
(defun make-vm-stack (size)
(make-array size :fill-pointer 0 :adjustable t))
(defun vm-push (element stack)
(vector-push-extend element stack))
(defun vm-pop (stack)
(vector-pop stack))
For an example, see:
http://fossil.nasium-lse.ogamita.com/nasium-lse/artifact/aaaed70c3800fb2794c752be7ab5412204151390
--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
You can take the lisper out of the lisp job, but you can't take the lisp out
of the lisper (; -- antifuchs
More information about the Openmcl-devel
mailing list