[Plplot-devel] New binding of Go programming language
Hello everyone, I have made a Go (http://golang.org) binding for PLPlot, and put it under my github repo: https://github.com/hailiang/go-plplot Wrappers to C functions are complete, and I plan to make a declarative layer around it gradually. Best regards, Hǎiliàng -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel
Re: [Plplot-devel] New binding of Go programming language
On Tue, Jan 21, 2014 at 8:21 AM, Hailiang Wang hwang@gmail.com wrote: Hello everyone, I have made a Go (http://golang.org) binding for PLPlot, and put it under my github repo: https://github.com/hailiang/go-plplot Wrappers to C functions are complete, and I plan to make a declarative layer around it gradually. That's wonderful news! Thank you for creating and releasing these bindings. Do the Go bindings target a specific release/revision of PLplot? If so that should probably be documented. Hez Best regards, Hǎiliàng -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel
Re: [Plplot-devel] Still on track for a February 1st release of 5.10.0
Hi Alan, I am currently trying to reproduce the errors you documented via Cygwin, as that is the most convenient platform available to me that comes close to Linux. And while this has the benefit of unearthing the idiosyncracies of Cygwin that we need to deal with it does also slow down my progress. Still, I have good hopes to at least weed out a few more bugs before the release of 5.10.0. Regards, Arjen -Original Message- From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca] Sent: Tuesday, January 21, 2014 10:45 AM To: Arjen Markus; Andrew Ross Cc: PLplot development list Subject: Still on track for a February 1st release of 5.10.0 My personal development goal for this release is to get a clean comprehensive test of epa_build results both on Linux and MinGW/MSYS. So far (aside from the known propagation issues with OCaml) the results of a somewhat limited version of the test have looked good on PLplot. However, on MinGW/MSYS this comprehensive test fails at run time with a return code of 3 for the installed Ada examples. I encountered this same test failure before when I hand- tested 5.9.11 on MinGW/MSYS, and it is good to know the recently updated (revision 12946) comprehensive test script finds the problem as well. Ada example builds are quite complex with many different directory locations pointed to by various flags. My plan for tomorrow is to do such a build by hand using the build-tree locations for everything. And assuming that works (like it does for actual build-tree tests for MinGW/MSYS) gradually change over all locations to the install-tree counterparts until I run into the build issue that is causing the return code of 3 at run time. If the MSYS version of strace worked, that would likely be an even quicker way to solve this issue. But currently I have not been able to get it to work so I have a query into the MinGW mailing list about that issue. So that is the status of what I am working on currently. I also encourage both Arjen and Andrew (who have both told me they plan some bug fixing between now and the 5.10.0 release) to give progress reports and updated plans from time to time here so I don't get surprised by anything they do. 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 __ DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel
Re: [Plplot-devel] New binding of Go programming language
On 2014-01-21 21:21+0800 Hailiang Wang wrote: Hello everyone, I have made a Go (http://golang.org) binding for PLPlot, and put it under my github repo: https://github.com/hailiang/go-plplot Wrappers to C functions are complete, and I plan to make a declarative layer around it gradually. Hi Hailiang: Inspired by Hez's positive reaction, I read http://talks.golang.org/2012/splash.article, and indeed Go seems a really cool and interesting language. Just out of curiosity, how are you creating the Go bindings for Plplot? Do you use swig (currently used to generate our Python, Java, Lua, and Octave bindings) or something else? 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 __ -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel
Re: [Plplot-devel] New binding of Go programming language
Hi Alan and Hez, Yes, I used to use C++ and Python but now Go has become my primary language. The binding is automatically generated from C header and is not targeted to a specific version of PLPlot. I'm not quite satisfied with the code that SWIG generated for Go, so I write a wrapper generator called cwrap (https://github.com/hailiang/cwrap), it uses gccxml to parse C header and generate Go wrappers. By the way, before cwrap is made, I have tried another way, parsing the PLPlot docbook XML document and generate the wrapper. The pro of the method is that XML is a lot easier to parse than C header, and also in the document, the parameters are already marked as IN or OUT, sometimes more accurate than guessing by const modifier. The con is that the doc may not be fully synchronized with the header file. Hǎiliàng -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel
Re: [Plplot-devel] New binding of Go programming language
On 2014-01-22 08:55+0800 Hailiang Wang wrote: By the way, before cwrap is made, I have tried another way, parsing the PLPlot docbook XML document and generate the wrapper. The pro of the method is that XML is a lot easier to parse than C header, and also in the document, the parameters are already marked as IN or OUT, sometimes more accurate than guessing by const modifier. The con is that the doc may not be fully synchronized with the header file. Hi Hailiang: Yes, api.xml is currently maintained by hand so it is a substantial concern whether it is consistent with the header. But you have given me an idea which would be to use gccxml to convert the header information into XML, then check api.xml to make sure it is consistent with that gccxml-generated information (i.e., check for a consistent list of functions and a consistent list of arguments and their type for each of those functions). Once such a checking implementation were implemented, it should also be possible to extend it slightly to update the relevant subset of api.xml information to be consistent with the header information. I have too much on my plate already to implement this idea in the forseeable future so I would welcome someone else here stepping forward and implementing it instead. 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 __ -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel
Re: [Plplot-devel] New binding of Go programming language
It takes not much effort to build a comparison program because the parser for api.xml is ready-made. I put the tool under my github reop here https://github.com/hailiang/go-plplot/tree/master/c/check Hǎiliàng P.S. Here is the result of the comparison, the type information in api.xml is not easy to parse by a program, so only name of the parameters are compared. c_plbtime is not documented. c_plconfigtime is not documented. c_plctime is not documented. c_plgcmap1_range is not documented. c_plgdrawmode is not documented. c_plgriddata is not documented. c_plot3dcl is not documented. c_plscmap1_range is not documented. c_plsdrawmode is not documented. c_plsurf3dl is not documented. c_plwid is not documented. number 0 parameter name mismatch for function pladv ( sub page ) number 3 parameter name mismatch for function plbox3 ( nxsub nsubx ) number 7 parameter name mismatch for function plbox3 ( nysub nsuby ) number 11 parameter name mismatch for function plbox3 ( nzsub nsubz ) number 0 parameter name mismatch for function plcol0 ( color icol0 ) number 17 parameter name mismatch for function plcolorbar ( labels label ) number 0 parameter name mismatch for function plcont ( z f ) number 0 parameter name mismatch for function plfont ( font ifont ) number 0 parameter name mismatch for function plfontld ( set fnt ) number 0 parameter name mismatch for function plgfam ( fam p_fam ) number 1 parameter name mismatch for function plgfam ( num p_num ) number 2 parameter name mismatch for function plgfam ( bmax p_bmax ) number 0 parameter name mismatch for function plgfci ( fci pfci ) number 0 parameter name mismatch for function plgpage ( xp p_xp ) number 1 parameter name mismatch for function plgpage ( yp p_yp ) number 2 parameter name mismatch for function plgpage ( xleng p_xleng ) number 3 parameter name mismatch for function plgpage ( yleng p_yleng ) number 4 parameter name mismatch for function plgpage ( xoff p_xoff ) number 5 parameter name mismatch for function plgpage ( yoff p_yoff ) plggriddata does not exist but remains in doc. number 0 parameter name mismatch for function plgstrm ( strm p_strm ) number 0 parameter name mismatch for function plgxax ( digmax p_digmax ) number 1 parameter name mismatch for function plgxax ( digits p_digits ) number 0 parameter name mismatch for function plgyax ( digmax p_digmax ) number 1 parameter name mismatch for function plgyax ( digits p_digits ) number 0 parameter name mismatch for function plgzax ( digmax p_digmax ) number 1 parameter name mismatch for function plgzax ( digits p_digits ) number 0 parameter name mismatch for function pllsty ( n lin ) parameter count mismatch for function plot3dc -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel