On Tue, 2004-08-17 at 16:22, Felix Gallo wrote: > On Tue, Aug 17, 2004 at 04:08:34PM -0400, Dan Sugalski wrote: > > 1) We're going to have MMD for functions soon > > 2) Function invocation and return continuation invocation's > > essentially identical > > 3) Therefore returning from a sub/method can do MMD return based on > > the return values
> $x -----\ > \ > @mylist -+--- $obj.mymmdsub; > / > %hash --/ How very fungible of you ;-) Still, I think that's a nice APPLICATION, but the concept is more flexible, if I understand it correctly. It would be something that would look more like a cross between exception handling and a switch statement. I would think it would look more like (again, Perlish example): $sock.peername() does returntype( Net::Address::IP -> $ip { die "Remote host unresolvable: '$ip'"; }, Net::Address -> $addr { die "Non IP unresolvable address: '$addr'"; }, Str -> $_ { print "Seemingly valid hostname: '$_'\n"; }); Of course, that's just Perl. Perhaps Python would add something that would look like: returnswitch: sock.peername() returncase os.net.addr.ip: lambda ip: raise OSError, "Unresolvable %s" % str(ip) returncase os.net.addr: lambda addr: raise OSError, "Unresolvable non-IP %s" % str(ip) returncase str: lambda name: print "Seemingly valid hostname: '%s'" % name My python skills are still developing, so pardon me if I've gotten it wrong, and I'm just inventing os.net.addr.ip for purposes of pseudo-code.... Is that the kind of thing you had in mind, Dan, or am I misunderstanding how return continuations work? -- â 781-324-3772 â [EMAIL PROTECTED] â http://www.ajs.com/~ajs