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

Blog article about Scheme usage in GIMP

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.

5 of 5 messages available
Toggle history

Please log in to manage your subscriptions.

Blog article about Scheme usage in GIMP Michael Schumacher 05 Sep 14:59
  Blog article about Scheme usage in GIMP Martin Nordholts 05 Sep 17:57
   Blog article about Scheme usage in GIMP Ofnuts 05 Sep 21:39
    Blog article about Scheme usage in GIMP Martin Nordholts 06 Sep 08:55
     Blog article about Scheme usage in GIMP Ofnuts 06 Sep 21:48
Michael Schumacher
2011-09-05 14:59:07 UTC (about 13 years ago)

Blog article about Scheme usage in GIMP

Moin,

I've come across the following blog post in my feed: http://benjisimon.blogspot.com/2011/09/how-guile-and-scheme-could-really-win.html

The author obviously favors Scheme over other programming languages, and has a clearly defined goal for the level of Scheme support in GIMP:

"The API should be so smoothly integrated in with The Gimp, that you'd be crazy to choose any other language."

At present, this is not true - and possible reasons are mentioned in the blog post, too:

"And you can't exactly blame programmers for not embracing Scheme: much of the Script-Fu scheme code out there is written in poor style (oh, to see Scheme code indented like C code - my eyes, my eyes!). Additionally, the Scheme API is low level."

I guess both of these are valid - I'm seeing many examples of people applying concepts from other languages to Scheme (e.g. some go to great lengths to get the number of elements of a list, in order to use that number in a for loop which iterates over the list). I can only imagine how that feels for a real Scheme programmer.

There are suggestions on how to solve this, too. A "Scheme community" should do the following:

"1. Don't stop by delivering the low level C style API. Go beyond that and deliver a high level API, one that uses all the cool features that are highlighted in Andy Wingo's post on Guile. Don't just talk about how macros can dramatically change the life of a programmer, make some that do. Don't just talk about how call-with-current-continuation can add new looping constructs to a language, create some.
2. Make sure there's plenty of high quality examples available. Perhaps reviewing and improving the plugins that users submit. "

The author doesn't elaborate on the community, so I'm not sure who he's addressing with this post - i.e. if there are people working on improving Scheme support in arbitrary applications.

I'm not aware of any plans to improve Scheme support in GIMP from our side, though - at least not in the direction of that blog post. Running scripts like plug-ins is planned, maybe introducing named parameters, but not an overhaul of the whole API. And IIRC not a move to a different Scheme implementation - more likely a move to a different language altogether.

I'd like to comment on the blog post, or see comments by someone else, but I'd like to clarify our plans for Scheme in GIMP first.

Regards, Michael

Martin Nordholts
2011-09-05 17:57:54 UTC (about 13 years ago)

Blog article about Scheme usage in GIMP

2011/9/5 Michael Schumacher :

I'd like to comment on the blog post, or see comments by someone else, but I'd like to clarify our plans for Scheme in GIMP first.

If we look at what programming languages that are popular [1], we can see that the vast majority of languages in use today have a syntax where 1 + 1 is written "1 + 1" and not "(+ 1 1)". If we want to have a main scripting language that as many as possible can use with as little effort as possible, Scheme is simply not an alternative. For most programmers, Scheme is an odd language. In the long term I think it is inevitable that we need to replace Scheme with something that has a syntax that is more mainstream.

However, doing the switch is a huge task and we have other things that are more important to work on, so I don't see this happening any time soon.

/ Martin

[1] http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Ofnuts
2011-09-05 21:39:52 UTC (about 13 years ago)

Blog article about Scheme usage in GIMP

On 09/05/2011 07:57 PM, Martin Nordholts wrote:

If we look at what programming languages that are popular [1], we can see that the vast majority of languages in use today have a syntax where 1 + 1 is written "1 + 1" and not "(+ 1 1)". If we want to have a main scripting language that as many as possible can use with as little effort as possible, Scheme is simply not an alternative. For most programmers, Scheme is an odd language. In the long term I think it is inevitable that we need to replace Scheme with something that has a syntax that is more mainstream.

I wholeheartedly agree with that.

However, doing the switch is a huge task and we have other things that are more important to work on, so I don't see this happening any time soon.

Haven't we got a quite nice Python interface already?

Martin Nordholts
2011-09-06 08:55:26 UTC (about 13 years ago)

Blog article about Scheme usage in GIMP

2011/9/5 Ofnuts :

On 09/05/2011 07:57 PM, Martin Nordholts wrote:

If we look at what programming languages that are popular [1], we can see that the vast majority of languages in use today have a syntax where 1 + 1 is written "1 + 1" and not "(+ 1 1)". If we want to have a main scripting language that as many as possible can use with as little effort as possible, Scheme is simply not an alternative. For most programmers, Scheme is an odd language. In the long term I think it is inevitable that we need to replace Scheme with something that has a syntax that is more mainstream.

I wholeheartedly agree with that.

However, doing the switch is a huge task and we have other things that are more important to work on, so I don't see this happening any time soon.

Haven't we got a quite nice Python interface already?

Yes we do, which is nice, but Scheme still has higher status. In particular, the format of gimprc files etc are Scheme-ish, and the default batch interpreter is Script-Fu.

/ Martin

Ofnuts
2011-09-06 21:48:14 UTC (about 13 years ago)

Blog article about Scheme usage in GIMP

On 09/06/2011 10:55 AM, Martin Nordholts wrote:

Haven't we got a quite nice Python interface already?

Yes we do, which is nice, but Scheme still has higher status. In particular, the format of gimprc files etc are Scheme-ish, and the default batch interpreter is Script-Fu.

The format of the gimprc files is not very relevant for scripts?

As to the default batch interpreter, if/when python plugins have sufficient appeal, people add python support (when they didn't get it out of the box).