RSS/Atom feed Twitter
Site is read-only, email is disabled

GIMP and Guile 2.0

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

4 of 4 messages available
Toggle history

Please log in to manage your subscriptions.

GIMP and Guile 2.0 Julian Graham 12 Jun 01:15
  GIMP and Guile 2.0 Marco Ciampa 12 Jun 12:46
   GIMP and Guile 2.0 Liam R E Quin 12 Jun 15:15
    GIMP and Guile 2.0 Julian Graham 12 Jun 16:49
Julian Graham
2011-06-12 01:15:44 UTC (almost 13 years ago)

GIMP and Guile 2.0

Howdy GIMP developers,

I'm a contributor to GNU Guile, which put out a major new release in February, and I'm wondering if there might be a use case in GIMP for Guile. Guile 2.x sports a new garbage collector, a virtual machine, multithreading support, and compiler front-ends for several languages in addition to R6RS Scheme. It's also at least an order of magnitude faster than previous releases.

I've done some work on a patch that adds an optional build of Script-Fu that uses Guile instead of TinyScheme. It's capable of handling some of the differences between R6RS and the variant of R4RS that TinyScheme implements -- enough to run the Spyrogimp script, for example -- but not yet all of them.

Do you all think there's value in proceeding with this type of integration? Could Guile potentially replace TinyScheme as GIMP's core Scheme implementation? I understand there's a historical requirement for having a bundled Scheme implementation that's guaranteed to build on the same set of platforms that GIMP does -- but there's been a lot of compatibility work done on Guile over the past several years, and Guile uses Gnulib, the GNU portability library, to be as portable as possible.

Or would a separate, independent plugin implementation with an architecture similar to PyGimp's make more sense?

Let me know if you'd like me to go into detail on the work I've done so far or if you'd like more information on the featureset of Guile 2.x. I'm happy to pitch people on how Guile could benefit GIMP!

Regards, Julian

Marco Ciampa
2011-06-12 12:46:50 UTC (almost 13 years ago)

GIMP and Guile 2.0

On Sat, Jun 11, 2011 at 09:15:44PM -0400, Julian Graham wrote:

Howdy GIMP developers,

First of all, I'm _not_ a developer... perhaps a good idea could stand by itself...

I'm a contributor to GNU Guile, which put out a major new release in February, and I'm wondering if there might be a use case in GIMP for Guile. Guile 2.x sports a new garbage collector, a virtual machine, multithreading support, and compiler front-ends for several languages in addition to R6RS Scheme. It's also at least an order of magnitude faster than previous releases.

good

I've done some work on a patch that adds an optional build of Script-Fu that uses Guile instead of TinyScheme. It's capable of handling some of the differences between R6RS and the variant of R4RS that TinyScheme implements -- enough to run the Spyrogimp script, for example -- but not yet all of them.

so far so good...

Do you all think there's value in proceeding with this type of integration? Could Guile potentially replace TinyScheme as GIMP's core Scheme implementation? I understand there's a historical requirement for having a bundled Scheme implementation that's guaranteed to build on the same set of platforms that GIMP does -- but there's been a lot of compatibility work done on Guile over the past several years, and Guile uses Gnulib, the GNU portability library, to be as portable as possible.

Or would a separate, independent plugin implementation with an architecture similar to PyGimp's make more sense?

Let me know if you'd like me to go into detail on the work I've done so far or if you'd like more information on the featureset of Guile 2.x. I'm happy to pitch people on how Guile could benefit GIMP!

Why not: create a (git) branch with this new engine and, one by one, adapt the scritps that does not work now to make them work with the new engine.

When most if not all the script works out of the box, merge the branch into the master git branch?

Liam R E Quin
2011-06-12 15:15:00 UTC (almost 13 years ago)

GIMP and Guile 2.0

On Sun, 2011-06-12 at 14:46 +0200, Marco Ciampa wrote:

On Sat, Jun 11, 2011 at 09:15:44PM -0400, Julian Graham wrote:

Why not: create a (git) branch with this new engine and, one by one, adapt the scritps that does not work now to make them work with the new engine.

When most if not all the script works out of the box, merge the branch into the master git branch?

For a gimp release, seems to me that people's scripts need to carry on working as much as possible. So it's not a case of editing the scripts, but of editing guile (as Julian suggested I think) until pretty much all scripts either (1) run, or (2) give clear instructions on how to change them. A utility could be provided to change scripts, too.

Liam

[resent from the right address, sorry if you get this twice]

Julian Graham
2011-06-12 16:49:20 UTC (almost 13 years ago)

GIMP and Guile 2.0

Hi Liam,

For a gimp release, seems to me that people's scripts need to carry on working as much as possible. So it's not a case of editing the scripts, but of editing guile (as Julian suggested I think) until pretty much all scripts either (1) run, or (2) give clear instructions on how to change them.  A utility could be provided to change scripts, too.

Yes, that is what I was suggesting. Given that my existing compatibility work is implemented as a set of syntax transformations, though, I don't think it would be that difficult to provide an external utility that does the same thing.

Regards, Julian

Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer