Parallel Python or Ruby?
If you were to add some parallel language constructs to Python or Ruby or <insert your favourite language>, what would you add?
Lets assume you are only allowed to add 1 or 2 constructs so you dont go changing the whole language upside-down. Also assume that you are not allowed to take something out of the language only add to it.
Please describe in detail with actual examples if possible. Dont just say "I will add actors" at a very high level.
20 comments
[ 12.1 ms ] story [ 67.2 ms ] threadI'd like to poke around with Python's compiler module and look at the AST--you could enforce that a certain class of functions have no side effects, and then spawn multiple processes to execute them semi magically.
Futures like the ones in IO (http://www.iolanguage.com/scm/git/checkout/Io/docs/IoGuide.h...) always struck me as a pretty cool way to abstract away synchronization problems. Using the multiprocess stuff as a background would be fun.
There's probably a whole bunch of other Enumerable methods that could be made to run in parallel as well.
It's multicore if you're using jruby.
Finally, Ruby has more than one implementation. Finding a hole in one implementation says nothing about the language overall.
It has.
(That's the only vulnerability ever found in qmail, and it wasn't exploitable --- Postfix has had much worse).
The point is that writing simple software in C is possible. But writing complex software is very very hard.
If you took a class with Bernstein, you might be familiar with the ISP whose entire mail operation, including customer POP and virtual hosting, I ran on qmail --- that'd be EnterAct. So yeah, I'm not buying your "qmail is too simple to matter" argument. If you want to chase it down, I'll be happy to show you where the last few Sendmail vulnerabilities were found. Clue: not in the crazy Sendmail features that qmail lacks.
But that's besides the point. You didn't answer my question.
Name a piece of code of comparable complexity to qmail that's never had an integer overflow. Here's another hint: Perl isn't one of them.
[Edit: If you want to see a continuation-based web framework built with Coro, look at Continuity: http://search.cpan.org/~awwaiid/Continuity-0.994/lib/Continu...
It's very cool.]
Have you heard of Stackless Python? That might be what you are looking for. http://www.stackless.com/