python and haskell for fun

Tim Peters tim.one at comcast.net
Mon Mar 11 18:34:38 EST 2002


[Kendall Clark]
> ...
> However, John Paul Skaller did something similar with Ocaml, which he
> called Vyper, and that went over in the Py world like a leaden balloon
> -- actually it went over about as poorly as Stackless Python did;

Stackless actually has a loyal base of intense fans, because Stackless does
something they want.

John started Vyper because he wanted a faster means to execute his
InterScript system, but Vyper didn't get far enough along to run faster than
CPython.  The last word on that appears to be:

    [from http://vyper.sourceforge.net/]
    The interpreter Pystone benchmark is currently about 10 times
    slower than CPython 1.5.2. Considerable improvement is expected
    in the future.

John then segued into changing the language rules in ways that looked
more-or-less random to outsiders.

> which does cause me to wonder what it is about Python culture, if
> anything, that's resistant to unusual alternative implementations?

In Vyper's case, "speed" was the big selling point, but it never
materialized.  Some of his other experiments have since gotten into the
Python core, though (like list comprehensions).

In Stackless's case, the relative handful of people who need
ultra-lightweight "tasklets" were, and still are, delighted with it.

JPython has *many* users, and if you don't think reimplementing Python in
Java qualifies as an "unusual alternative", you may have been too young at
the time <wink>.

Bottom line:  An alternative will catch on to the extent that people
actually want what it actually does.

> A Python implementation in Haskell is probably a fool's task. Though
> given the various Haskell compilers, including some pretty impressive
> parallelizing stuff, it is an interesting idea.

If you're aiming at speed, don't get distracted by fiddling, and you'll find
a large audience -- if you succeed.  Something like "20% faster, most of the
time" probably wouldn't be enough to get anyone to bother switching, though.

let-alone-10x-slower<wink>-ly y'rs  - tim





More information about the Python-list mailing list