Brad Beveridge wrote:
> 
> >From reading what you wrote, I also think that this is a fantastic project!!!
> Now (overhead aside), you have basically made the entire Python world
> available to Lisp.  The really cool thing about this is that almost
> the entire C & C++ world has Python wrappers, so by proxy you have
> opened up that world to Lisp also.
> 
> I think that you may be on the track to letting Lisp be "batteries
> included".  I wonder how hard it would be to autogenerate Lisp
> functions that call Python functions?  I'd guess it wouldn't be too
> bad.

All I'm worried about is dilution of Lisp, and the problem of a program
written in 2 languages calling each other simultaneously (Python calling
the LispEval function)! It'll be okay as long as people just use Python
for its library code and always send the data back to Lisp to be
processed.

My main goal is to attract people who want to get something (like a web
script) up and running really fast, and then slowly try Lisp
alternatives one by one. My original goal though, was to allow Python as
a scripting language for my hyperstructure application, as I have a
client who doesn't want to switch to scripting in Lisp.

I forgot to mention: The project will run on any platform Python is on
(Windows, Linux, BSD, MacOSX etc), just as long as Python is installed.
On Windows it's python22.dll, maybe libpython22.a on Linux - in fact,
Python can run happily with just this DLL and no libraries, although you
won't be able to do library-specific stuff.

Lisp functions that call Python shouldn't be hard, you just use macros I
think. I'm not the person to do it, my macros aren't up to scratch yet.

> Awesome work, make a project page
> (http://wiki.alu.org/Gardeners_Projects) & you'll get a Green Thumb
> from me in an instant!

I'll do that!

Just a quick update: The function PythonLisp (py for short) now returns
all stdout printed by Python during a script, as a string, optionally
(instead you could just dump it into the Lisp stdout), which is a pretty
much essential part of using Python from Lisp properly. It's more
efficient to pol.SetString on a huge string buffer though, instead of
printing out, eg, an entire webpage, to the console, probably
line-by-line (all that string appending is time-consuming).

I also got web.py up and running inside Clisp, before Ctrl+C'ing it to
get a stack trace from Python. Not sure what use that is, but it's kind
of amusing - you could have it running Lisp callbacks using LispEval on
web requests. God forbid!

Anyway, I'm going to set up this account on common-lisp.net for hosting
it. Thanks for all the nice comments and I hope people find this useful.

Cheers,

Jeremy.
-- 
| Jeremy Smith BSc (Hons)
| Chief Scientist, Decompiler Technologies
| Member, British Computer Society
| England
_______________________________________________
Gardeners mailing list
[email protected]
http://www.lispniks.com/mailman/listinfo/gardeners

Reply via email to