This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Translation for extension is a bad idea


jostobfe@linux.zrz.TU-Berlin.DE writes:

>You probably don't want to use scheme as an extension
>language for lilipond because this would make your customers
>stay away from your program.

Duh.  Customers didn't stay away from the program. They didn't when it
was in C++ exclusively, and now that there is getting to be more
Scheme, they still don't. (And no, they also don't contribute
code. Not then, not now)

BTW, it's called lilypond, not lilipond.

>Wether you invent your own configuration language to let you
>customers
>extend lilipond or use some other "standard" language doesn't matter,
>translating your language to scheme *should* be easier than writing a
>new language interpreter from scratch.

I don't buy this:

if I want to use a standard language, I embed the an
interpreter for that standard language.

I don't go around designing my own langauge, because (quoting the
GUILE webpage)

      A good [..] language takes time. We've taken that time
      for you.

I would defeat the purpose of having a full-blown interpreter for a
mature language by designing my own.


Brent Fulgham:

>This is especially true where you have multiple users who each prefer
>a different language for extension.  Linking to 'n' different
>interpreter binaries, using 'n' different embed-API's and 'n'
>different sets of interpreter quirks rapidly produces a massive
>problem space for the application developer, and for debugging
>problems with a user's scripts.

Again, I don't buy this. If I were to use GUILE, I'd have to use n
different translators each with their own quirks. As a bonus, there
are much less developers working on GUILE translators than on each of
the Tcl/Python/Perl languages, which would result in less rapid
bugfixes.

And I don't really believe that a developer will give thought to a "we
want Tcl for extension" when there is already a functioning Scheme
extension mechanism, especially if he/she is short on time. (Well, in
any
case, I wouldn't).

[On the factual side: the only multi-language app that I know of,
Gnumeric, has different plugins for each language and uses the
standard interpreters for each.  The developers are actively pursuing
interoperability using CORBA/Bonobo, and they are not using a unified
language.

Perhaps the developers of gnumeric can give us a piece of their mind.]

-- 

Han-Wen Nienhuys   |   hanwen@cs.uu.nl    | http://www.cs.uu/~hanwen/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]