GSL shell release 0.9.6 plus standard Lua module

classic Classic list List threaded Threaded
33 messages Options
12
Reply | Threaded
Open this post in threaded view
|

GSL shell release 0.9.6 plus standard Lua module

Francesco Abbate-2
Hi all,

I'm coming again with a new release of GSL shell :-)

I confess that I was disappointed with the last announce since I've
seen little or no interest coming from the Lua community. I will stop
bother people in the mailing list if I see that there is still no
interest.

To download you can use this link which is already updated:

http://download.savannah.gnu.org/releases-noredirect/gsl-shell/

You will find the windows binaries if you want to have a quick look.

So, what's new with this new release:
- I've improved the high-level interface for producing plots. For
example you can do something like that

> p = fxplot(|x| exp(-0.1*x)*sin(x), 0, 24*pi)

to have a plot and to add a second curve on the same plot:

> p:add_line(fxline(|x| exp(-0.1*x), 0, 24*pi), 'blue')

- I've added the support for special functions and written a first
good draft of the documentation. So, for example to plot the bessel
function Jn with n=6 you can write:

> fxplot(|x| besselJ(6, x), 0, 30)

- I've fixed the compilation as a lua module. This can be done by
configuring makeconfig like that:

ENABLE_COMPLEX = no
ENABLE_AGG_PLOT = yes
BUILD_LUA_DLL = yes

and you should obtain a DLL that works with a standard Lua binary.
Here you can find the DLL binary for windows:

http://download.savannah.gnu.org/releases-noredirect/gsl-shell/gsl-shell-0.9.6-lua-win.zip

to test it you can write:

> draw.fxplot(function(x) return gsl.besselJ(6, x) end, 0, 30)

Please note that in this case you need to prefix the functions with
'gsl' or 'draw' and that the short function syntax is disabled (of
course, because it is the standard Lua). Talking about the source
distribution, I've added a 'module' directory that contains the .lua
initialisation files for the standard Lua build.

- I've introduced the support for the rgb and alpha blending. In
'examples/plot.lua' you can find a vonkkoch example that will show all
the beauty of the module and how you can use it creatively :-)

More generally you will find a lot of examples in the 'examples'
directory. Please don't look at the 'tests' directory.

So, that's all. As usual, any suggestion or criticism is welcome but
please no flames about the short function syntax or the complex number
support.

Cheers,
Francesco
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Leo Razoumov
On 2010-01-03, Francesco Abbate <[hidden email]> wrote:
> Hi all,
>
>  I'm coming again with a new release of GSL shell :-)
>
>  I confess that I was disappointed with the last announce since I've
>  seen little or no interest coming from the Lua community. I will stop
>  bother people in the mailing list if I see that there is still no
>  interest.
>

Francesco,
Please, do not be discouraged from what you perceive to be a weak
response to gsl-shell.  You started an interesting project but it is
still in its infancy. For example, I could not find a way to do 3D
plots or contour plots but it could be that I overlooked them. Also,
GSL is GPL licensed library which is no-go for quite a few people. I
wish it were LGPL instead.

Good luck with your project!
--Leo--
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Wesley Smith
> Also,
> GSL is GPL licensed library which is no-go for quite a few people. I
> wish it were LGPL instead.

GSL shell uses a version of the Antigrain library that is GPL so I
think GSL shell has to be GPL.
wes
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Luiz Henrique de Figueiredo
> GSL shell uses a version of the Antigrain library that is GPL so I
> think GSL shell has to be GPL.

In the original announcement, Francesco Abbate said
        - - the 'lightweight rasterizer', which is MITish

Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Alexander Gladysh
On Mon, Jan 4, 2010 at 03:25, Luiz Henrique de Figueiredo
<[hidden email]> wrote:
>> GSL shell uses a version of the Antigrain library that is GPL so I
>> think GSL shell has to be GPL.

> In the original announcement, Francesco Abbate said
>        - - the 'lightweight rasterizer', which is MITish

AntiGrain was BSD-ish before 2.5, unfortunately it is GPL now.

http://www.antigrain.com/license/index.html

There is related MIT-licensed project, called "fog"

http://code.google.com/p/fog/

As I understand, it uses algorithms (and some code) from pre-2.5 AGG.

I do not know how mature it is, however.

Alexander.

P.S. Just for stats: GPL license is usually a show-stopper for me as
well. (However, I'm, most likely, not the target audience of GSL
shell, so no problems here.)
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

steve donovan
In reply to this post by Francesco Abbate-2
On Mon, Jan 4, 2010 at 12:08 AM, Francesco Abbate <[hidden email]> wrote:
> I confess that I was disappointed with the last announce since I've
> seen little or no interest coming from the Lua community. I will stop
> bother people in the mailing list if I see that there is still no
> interest.

Actually, I think we appreciate the status updates. Maybe there are
some who think 'cool!' but don't want to create noise by saying this
unnecessarily often.  gsl-shell can occupy an important niche in the
Lua world for people who do numerical work,

> So, that's all. As usual, any suggestion or criticism is welcome but
> please no flames about the short function syntax or the complex number
> support.

Nah, we've done that. Now we will probably argue about licenses.

steve d.
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Miles Bader-2
steve donovan <[hidden email]> writes:
>> I confess that I was disappointed with the last announce since I've
>> seen little or no interest coming from the Lua community. I will stop
>> bother people in the mailing list if I see that there is still no
>> interest.
>
> Actually, I think we appreciate the status updates. Maybe there are
> some who think 'cool!' but don't want to create noise by saying this
> unnecessarily often.  gsl-shell can occupy an important niche in the
> Lua world for people who do numerical work,

... and it can take time for a project to find popularity, even if it's
good (and GSL looks pretty good).

Personally GSL is something that I kinda _want_ to use -- I used to do
similar calculation/plotting stuff in C writing output for gnuplot to
display (annoying), and GSL looks much nicer for that -- but I'm not
currently doing anything that needs it.  However, it's most certainly in
my memory waiting for an appropriate need to surface...

-Miles

--
Pray, v. To ask that the laws of the universe be annulled in behalf of a
single petitioner confessedly unworthy.
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Miles Bader-2
Er, of course I meant "GSL shell", not "GSL"...

-miles
--
Do not taunt Happy Fun Ball.
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Wesley Smith
In reply to this post by Luiz Henrique de Figueiredo
On Sun, Jan 3, 2010 at 4:25 PM, Luiz Henrique de Figueiredo
<[hidden email]> wrote:
>> GSL shell uses a version of the Antigrain library that is GPL so I
>> think GSL shell has to be GPL.
>
> In the original announcement, Francesco Abbate said
>        - - the 'lightweight rasterizer', which is MITish
>
>

And presumable GSL shell is based on GSL which is also GPL.
http://www.gnu.org/software/gsl/

wes
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

KHMan
Wesley Smith wrote:
> On Sun, Jan 3, 2010 at 4:25 PM, Luiz Henrique de Figueiredo wrote:
>>> GSL shell uses a version of the Antigrain library that is GPL so I
>>> think GSL shell has to be GPL.
>> In the original announcement, Francesco Abbate said
>>        - - the 'lightweight rasterizer', which is MITish
>
> And presumable GSL shell is based on GSL which is also GPL.
> http://www.gnu.org/software/gsl/

https://savannah.nongnu.org/projects/gsl-shell/

GPL3+

--
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

KHMan
In reply to this post by Miles Bader-2
Miles Bader wrote:

> steve donovan writes:
>>> I confess that I was disappointed with the last announce since I've
>>> seen little or no interest coming from the Lua community. I will stop
>>> bother people in the mailing list if I see that there is still no
>>> interest.
>> Actually, I think we appreciate the status updates. Maybe there are
>> some who think 'cool!' but don't want to create noise by saying this
>> unnecessarily often.  gsl-shell can occupy an important niche in the
>> Lua world for people who do numerical work,
>
> ... and it can take time for a project to find popularity, even if it's
> good (and GSL looks pretty good).
>
> Personally GSL is something that I kinda _want_ to use -- I used to do
> similar calculation/plotting stuff in C writing output for gnuplot to
> display (annoying), and GSL looks much nicer for that -- but I'm not
> currently doing anything that needs it.  However, it's most certainly in
> my memory waiting for an appropriate need to surface...

To be perfectly frank, I think Francesco should set expectations
for feedback to "quite low". Then you would be pleasantly
surprised when there is interest in the project.

Interest in GSL on this list is just that -- interest. Remember,
this list is about Lua -- a self-selected bias. But consider the
fraction who use Lua and need to use GSL-like tools on a
non-casual basis -- how many are there? Also, it's hard to push
new tools on mathematicians and a lot of engineers like the
convenience of spreadsheets for flexible preparation and
manipulation of data. So there are people who express interest on
this list. But how many early adopters will you get?

Discussion on syntax etc. on this list is about the extension of
Lua -- it may not correlate at all with gaining users or adopters.

It's hard to grow a community for a niche project. But I'm sure it
can be done. Good luck and best wishes. Keep plugging along.

PS. Some may label this post as "killjoy". But I'm just espousing
practical expectations instead of optimistic expectations.
--
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Miles Bader-2
KHMan <[hidden email]> writes:
> It's hard to grow a community for a niche project. But I'm sure it can
> be done. Good luck and best wishes. Keep plugging along.
>
> PS. Some may label this post as "killjoy". But I'm just espousing
> practical expectations instead of optimistic expectations.

Most projects don't have a "community" worth the name anyway, and one
probably shouldn't write a program expecting one.

That's one reason why "scratch your own itch" seems like a very good
advice for anyone interested in writing a FOSS program.  It's gratifying
and encouraging if other people enjoy what you make (and even better if
they want to help you), but first make yourself happy...

-Miles

--
Everywhere is walking distance if you have the time.  -- Steven Wright
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

David Kastrup
In reply to this post by steve donovan
steve donovan <[hidden email]> writes:

> On Mon, Jan 4, 2010 at 12:08 AM, Francesco Abbate <[hidden email]> wrote:
>
>> So, that's all. As usual, any suggestion or criticism is welcome but
>> please no flames about the short function syntax or the complex
>> number support.
>
> Nah, we've done that.

Don't think so.  The short function syntax debate was not about its
inclusion in GSL-shell but rather about whether to include it in
mainstream Lua.  I don't think that anybody expressed an issue with
Francesco modifying his GSL-shell-internal Lua interpreter.

> Now we will probably argue about licenses.

Whatever.  I consider it appropriate for Francesco to post announcements
about GSL-shell here.  I agree that most of the followup discussions so
far have been a distraction having little to do with GSL-shell itself.

Since this list is not actually the right place to discuss GSL-shell in
itself (but possibly some of its Lua-related design decisions and
implementation details), he should not be all too surprised or
disappointed if the response on the list is not overly productive: for
announcements, I should expect this to be the rule.  But that does not
mean that the announcements should not be made.  It will get people to
notice, and possibly eventually try things out and contribute back on
other channels.

--
David Kastrup

Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

steve donovan
On Mon, Jan 4, 2010 at 10:37 AM, David Kastrup <[hidden email]> wrote:
> mainstream Lua.  I don't think that anybody expressed an issue with
> Francesco modifying his GSL-shell-internal Lua interpreter.

This is very true (sorry, I was being flippant too early in the year).
In an interpreted environment, where you are trying out functions
repeatedly, it makes total sense.

Vaguely on-topic, the less I have to do with Gnuplot from now on, the
better!  Although, there will be a feature request at some point: can
GSL-shell render to an image?  Screen captures are low-resolution and
hacky.

As for contour plots, there are several robust algorithms and it would
probably be pretty efficient in Lua using AGG.

steve d.
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Luiz Henrique de Figueiredo
> As for contour plots, there are several robust algorithms and it would
> probably be pretty efficient in Lua using AGG.

My linterval includes an implicit curve plotter that outputs postscript,
but can probably be easily adapted to AAG.
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Francesco Abbate-2
In reply to this post by Leo Razoumov
2010/1/3 Leo Razoumov <[hidden email]>:
> On 2010-01-03, Francesco Abbate <[hidden email]> wrote:
> Francesco,
> Please, do not be discouraged from what you perceive to be a weak
> response to gsl-shell.  You started an interesting project but it is
> still in its infancy. For example, I could not find a way to do 3D
> plots or contour plots but it could be that I overlooked them. Also,
> GSL is GPL licensed library which is no-go for quite a few people. I
> wish it were LGPL instead.

Hi all,

talking about the GPL licence:
yes GSL Shell is under GPL v3 because:
- AGG library v2.5 is under GPL
- the GSL library iteself is under GPL
- I *want* to publish my work under the GPL license because I'm a free
software supporter.

A small digression: as many of you I'm working & playing with
computers since many years and I think that proprietary software is
absolutely worthless. I have seen way too many projects became
abandonware and their code base get lost just because it was
proprietary code. Free software allows people to use cooperatively the
work that other peoples have made before to build more advanced
things. Having a background in mathematics and physics I consider that
publishing free software is as basic as publish a theorem or a
physical theory.

Anyway, I'm not an integralist of GPL and I'm happy that Lua is
publish under an open source license but you can be sure that I will
keep away from it if it was closed source or proprietary.

Talking about the contour plot and 3D graphics:
I have been thinking to contour plots since the beginning and I thing
that I'm going to implement that when I will have some time.
Everything is already there with the AGG library, GSL and the Lua
interface and implement it is not that difficult. I believe you should
be able to implement it with pure Lua code.

Talking about 3D graphics, I would love to have it but unfortunately I
don't have the good background in 3D graphics. I hope to get some help
soon or later to implement 3D graphics for GSL shell...

Francesco
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Francesco Abbate-2
In reply to this post by David Kastrup
2010/1/4 David Kastrup <[hidden email]>:
> Don't think so.  The short function syntax debate was not about its
> inclusion in GSL-shell but rather about whether to include it in
> mainstream Lua.  I don't think that anybody expressed an issue with
> Francesco modifying his GSL-shell-internal Lua interpreter.

Thank you very much David, this is reassuring :-)

> Whatever.  I consider it appropriate for Francesco to post announcements
> about GSL-shell here.  I agree that most of the followup discussions so
> far have been a distraction having little to do with GSL-shell itself.
>
> Since this list is not actually the right place to discuss GSL-shell in
> itself (but possibly some of its Lua-related design decisions and
> implementation details), he should not be all too surprised or
> disappointed if the response on the list is not overly productive: for
> announcements, I should expect this to be the rule.  But that does not
> mean that the announcements should not be made.  It will get people to
> notice, and possibly eventually try things out and contribute back on
> other channels.

Ok, I understand but I'm nevertheless disappointed by the lack of
interest. Probably  it is a difference in background since many people
here are more interested in web development, video game scripting,
system scripting, networking and only a few are interested in
mathematics and graphics.

I remember when I've asked in this list about 2D graphics and the
response that I've got was: we have nothing, you can just start
gnuplot and feed the input with a pipe. All this while, at the same
time, Python features the excellent matplotlib.

Now I come with a Lua library for antigrain 2D graphics and the
reaction is: no interest at all. People didn't ask me about the
implementation, the features, the API, just nothing. Also I've
received many criticism and no help at all for anything, I was
surprised and disappointed but this is just my personal feeling.

Francesco
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Luiz Henrique de Figueiredo
> Now I come with a Lua library for antigrain 2D graphics and the
> reaction is: no interest at all.

A Lua library for AAG is a great addition. If it is separate from GSL, then
it'd be really useful and easy for people to try it.
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Francesco Abbate-2
2010/1/4 Luiz Henrique de Figueiredo <[hidden email]>:
>> Now I come with a Lua library for antigrain 2D graphics and the
>> reaction is: no interest at all.
>
> A Lua library for AAG is a great addition. If it is separate from GSL, then
> it'd be really useful and easy for people to try it.

I guess you mean AGG, it is the anti-grain geometry.

If you believe there is a real interest I can try to separate them
from the core and produce an indipendent module.

For the other side may be we should re-think the modus operandi since
right now the library open its own window for displaying graphics and
produce a pthread to keep the window updated outside of the Lua main
loop. It is possible to add element to an existing window by adding
them to a 'plot' object. The method of the plot object are secured for
concurrent access with a pthread mutex (global for all the object).

I believe this is a very good model for GSL shell but I was wondering
if it is fine for a general purpose graphics library.

Francesco
Reply | Threaded
Open this post in threaded view
|

Re: GSL shell release 0.9.6 plus standard Lua module

Luiz Henrique de Figueiredo
> I guess you mean AGG, it is the anti-grain geometry.

Yes, sorry.

> If you believe there is a real interest I can try to separate them
> from the core and produce an indipendent module.
>
> For the other side may be we should re-think the modus operandi since
> right now the library open its own window for displaying graphics and
> produce a pthread to keep the window updated outside of the Lua main
> loop. It is possible to add element to an existing window by adding
> them to a 'plot' object. The method of the plot object are secured for
> concurrent access with a pthread mutex (global for all the object).
>
> I believe this is a very good model for GSL shell but I was wondering
> if it is fine for a general purpose graphics library.

It'd be better to be able to save an image (as well, if possible).
12