On Fri, Sep 25, 2015 at 10:27 AM, Anne Archibald <archib...@astron.nl> wrote:
> goto! and comefrom! Together with exceptions, threads, lambda, super, > generators, and coroutines, all we're lacking is > call-with-current-continuation for the full list of impenetrable > control-flow constructs. Oh, and lisp-style resumable exception handling. > (Suggested syntax: drop(exception, value) to return control to where the > exception was raised and make the raise statement return value.) > > On Thu, Sep 24, 2015 at 8:42 PM Charles R Harris < > charlesr.har...@gmail.com> wrote: > >> On Thu, Sep 24, 2015 at 12:13 PM, Yarko Tymciurak <yark...@gmail.com> >> wrote: >> >>> >>> >>> I think there are more valid uses - I've read that "goto" basically is >>> what a state machine does. >>> Have a read of the brief implementation notes for "goto" in golang, for >>> example. Goto may not be unreasonable to use, just most people would >>> abuse. Sort of like "everyone shouldn't write assembly, but if you >>> understand the machine, you can make good things happen". Without >>> compiler/interpreter checks, more responsibility rests on the coder to keep >>> out of trouble. >>> >> >> I would agree about state machines. When implemented using the standard >> control flow constructs they always look a bit artificial. >> >> > That depends what your "standard" control flow constructs are. Has anyone > tried implementing a state machine using coroutines? They seem like a > rather natural setup: each state is a coroutine that loops, doing the > appropriate actions for the state and then handing control over to the > coroutine for the next state. > > Might well do. TAOCP has an example elevator, passenger simulation that, IIRC, used coroutines. I think I may have even once used a language that had them (Algol 68?). It will be interesting to see what their inclusion in Python 3.5 leads to. Chuck
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion