Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2000:
[Freeciv-Dev] Re: Plans for 1.12
Home

[Freeciv-Dev] Re: Plans for 1.12

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Freeciv Dev <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: Plans for 1.12
From: Jed Davis <jldavis@xxxxxxxxxxxxxx>
Date: Mon, 26 Jun 2000 12:45:31 -0400

--On Monday, 26 June 2000 11:33 +0200 Artur Biesiadowski <abies@xxxxxxxxx> wrote:

Tobias Bengtsson wrote:

Why dont we use perl? Perl exists on more platforms than GUILE, more
people know how to code it.

<snip>

4) Guile is very easily embedded from C application.  I don't know about
perl, but in most cases I've seen the opposite there - perl calling into
C code (like the JNI java methods). How easy is to embed perl and calls
single functions for evaluating things etc ? How well would perl garbage
collector interacts with C memory management in freeciv ? (I don't know
answers so maybe it is not a 'against' argument)

Agreed. I've done some stuff with exporting C/C++ data into Scheme, and I've found it fairly simple. Handling the garbage collection is also very simple. Although I know Perl, I have no experience with its facilities for being embedded in existing applications (I don't even know if such a thing exists), so I can't comment there.


6) As far as platforms are concerned, guile indeed wasn't running on
non-unix platforms last time I've checked, but there is another scheme
interpreter called mzscheme, which runs on more platforms. With simple
wrapper it is possible to choose one of them at compile time without
changing any code on either scheme or freeciv code.

I'm not sure to what extent another scheme system could be substituted, since it's the C interface that's important here, and I'd thought that was more or less specific to Guile. I could be wrong, of course.

In any case, I'm sure it would be possible to make the scripting stuff optional; after reading about the problems with libXpm I'm thinking that the last thing we need is another library dependency.

--Jed





[Prev in Thread] Current Thread [Next in Thread]