[SciPy-dev] pre-release peek of compiler... and I need help with a name

Prabhu Ramachandran prabhu at aero.iitm.ernet.in
Thu Jan 3 01:26:10 CST 2002


>>>>> "ej" == eric  <eric at scipy.org> writes:

    >> bicep -- blitz inline c embedded in python.

    ej> Hey, I kinda like that.  Nice little double meaning there.

Minor modification: blitzed inlined c embedded in python.

My vote is on bicep. :)

    >> Are there plans to support other languages apart from C/C++ ?

    ej> No plans right now.  I'd like to make this robust and get a
    ej> few other features in first.  Biggest missing features in my
    ej> mind right now are (a) support for VTK (b) support for array
    ej> broadcasting in blitz(), and (c) support for general math
    ej> functions in blitz().

Sounds great.

    >> is it possible to embed others even?

    ej> PyInline is another module that offers a similar capability,
    ej> but comes at the problem from a different angle.  I think it
    ej> aims at being able to support multiple lanaguages, so it is
    ej> possible.

    ej> As far as whether compiler would ever be able to do it, I'm
    ej> not sure.  It would probably be pretty easy to embed Fortran
    ej> right now supporting Numeric arrays, scalars, and strings, but
    ej> I'm not sure that will excite many people.  As far as Perl,
    ej> Ruby, Tcl and friends, I don't really have a feeling for them.
    ej> I think they would take quite a bit more work.

Forget perl, ruby, tcl, java and friends.  At the moment I see Python
as the best prototyping language.  The biggest problem with it in
certain situations is speed.  For instance I could rapidly prototype
CFD code in Python but wouldn't want to make production runs with it.
Dylan is really nice for what it aims to be and do but the open
versions aren't mature enough, IMHO.  So, I see compiler/psyco filling
in this gap.  Writing everything in C++ is something I am growing to
strongly dislike.  Fortran is also a nice possibility for raw speed
but I dont know how easy it would be to use/write from Python.  As I
understand, compiler allows you to speed up parts of code by allowing
you to embed c++/c in Python.  Therefore, I am not interested in
seeing support for any language that does not concern itself with
speed.  Therefore, other scripting languages need not be supported.
Its things like C/C++ and Fortran that need to be supported.

Of course, if Python were inherently fast, it would be wonderful but
that is asking for way too much.  Maybe Python should become somewhat
dylanic and allow optional specification of types.  It could also
allow one to stop dynamic name lookups etc. when unnecessary.  A
proper python compiler might never be possible but it should be
possible to create pure python modules that can be fine tuned to be
blazingly fast without the programmer having to switch to another
language.  Maybe a smaller subset of the Python language can be used
to do this.  I guess this is what Numeric etc. do but they do it
outside the language.  It would be nice if one could do everything in
Python (or a subset of Python).

I dont know if any of this makes sense but I'm just thinking aloud.


More information about the Scipy-dev mailing list