Hi Hez:

On 2013-05-12 14:57-0400 Hezekiah M. Carty wrote:

> I'm skipping ahead a bit to address the API concerns below.  Alan -
> sorry for skipping over your reply for the moment.  I'll get to your
> longer questions as soon as I'm able.

OK. I will look forward to your further response to what I have said
before, and limit what I say here about the C API to just two issues.

1. However you decide to change the C API of pllegend and plcolorbar
further after the 5.10.0 release, make sure it is straightforward to
propagate it to all our language bindings and as easy as possible to
use from those languages. In other words, we don't want to impose some
C idea on the other languages if that idea is a bad fit for those
languages.  Also, I should state I have had some substantial recent
experience with pllegend from Python/Numpy, and the current API is
actually not that bad to use from that language.

>> Andrew said:
>> I agree const arguments for the string pointers would be wise.
>>
>
> There was a reason I didn't go that route for the string arguments
> initially but I don't remember what it was.  If it doesn't break code
> then I'm fine with the change.

2. I assume both Andrew and you are referring to my proposal to
change the types of

const char *labels[] and
const char *axis_opts[]

in the plcolorbar argument list to

const char * const *labels and
const char * const *axis_opts

What I proposed was to make this change (so that plcolorbar would have
the same type for such arguments as pllegend currently does), and use
that known pllegend experience for const char * const * arguments to
propagate this change through all our C examples which currently use
plcolorbar and also propagate the plcolorbar API to the swig-generated
bindings and corresponding examples.  That does leave the issue of
modifying the OCaml bindings for plcolorbar and corresponding examples
that use that function consistently with the above change.  But that
should be entirely straightforward for you since you already know how
const char * const * arguments should be handled from your pllegend
experience.

Hez, should I go ahead with this?  I am asking you again because the
"If it doesn't break code" qualifier on your above OK is a showstopper
since I am virtually positive the above change will break code. That
said, the only broken code will be for C and OCaml, and those fixes
should be entirely straightforward as I have indicated above.
Furthermore that relatively small downside should be more than
compensated by the large upside of the proposed update to the
plcolorbar API which should make it easier to start propagation of
that function to other languages (such as the swig-generated ones
mentioned above) following what has already been done for pllegend.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to