Re: [stack] Status of Cat and CVML
"Christopher Diggins" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Dec 30, 2008 at 2:39 PM, William Tanksley, Jr <[email protected]> wrote: > Christopher Diggins <[email protected]> wrote: >> I am also working on adding portable continuations to Cat and CVML. I >> expect to have the first prototype done by mid-February at the latest. >> There are opcodes being introduced into the bytecode to allow >> continuations (implemented by cloning the current VM state) to be >> created, cloned, and serialized over a stream or network. In addition >> I am adding an event passing mechanism to allow VM instances to >> communicate safely and asynchronously. > > Nice! Parallelism will be important, and it looks like this might > possibly help that. > > OTOH, I'm curious -- have you looked at partial continuations? > > http://en.wikipedia.org/wiki/Delimited_continuation Yeah, I am not a huge fan of delimited continuations. They are quite messy and unstructured. > "Unlike regular continuations, delimited continuations return a value, > and thus may be reused and composed." Well this wikipedia entry is not entirely accurate. For example in C++ all programs return a value, so a continuation in a C++ program would theoretically return a value (if we were allowed to have continuations in C++ of course). I do plan on allowing continuations to return values because all Cat programs return a stack with a single value on the top. This means that Cat continuations (in fact any Cat program) can be composed together. Another related feature I am working on for CVML is the ability to chain programs together, and pipe the output from one into the input of another as you can within Unix shells. >> - Christopher > > -Wm