Before I started developing the R client for BaseX several years ago, I used to program regularly in SWI-Prolog. And I always wondered afterwards about the possible benefits of using Prolog in combination with XQuery. So after I finished developing RbaseX, I started developing ProBaseX. I did not manage to set up a connection in Swipl. Therefore, my initial plan to develop ProBasex entirely in SWI-prolog was changed to a plan to first set up a connection in C++ and then use that connection. This work eventually resulted in a linux shared library that implements the full server protocol. I will now use that library for further development work. LibBasexCpp and the test program libBasexTest.cpp are now on the Internet: https://github.com/BenEngbers/libBasexCpp I am curious to see if this library fills a need and if it makes sense to continue working on a dual platform version. Ben Engbers
Hi Ben, Thanks for your new client, much appreciated. I’ve added it to our documentation [1]. Out of interest: How does your solution differ from the other two clients that we have listed? Best, Christian [1] https://docs.basex.org/main/Clients On Sun, Jul 14, 2024 at 10:43 PM Ben Engbers <Ben.Engbers@be-logical.nl> wrote:
Before I started developing the R client for BaseX several years ago, I used to program regularly in SWI-Prolog. And I always wondered afterwards about the possible benefits of using Prolog in combination with XQuery. So after I finished developing RbaseX, I started developing ProBaseX.
I did not manage to set up a connection in Swipl. Therefore, my initial plan to develop ProBasex entirely in SWI-prolog was changed to a plan to first set up a connection in C++ and then use that connection. This work eventually resulted in a linux shared library that implements the full server protocol. I will now use that library for further development work.
LibBasexCpp and the test program libBasexTest.cpp are now on the Internet: https://github.com/BenEngbers/libBasexCpp
I am curious to see if this library fills a need and if it makes sense to continue working on a dual platform version.
Ben Engbers
Hi Christian, My solution is intended to be used as a shared object library (or .dll when I manage to modify CMakeLists.txt to generate a dual platform result). I implemented the entire protocol in standard C++. I chose this solution because, as a novice C++ programmer, I did not understand how to use the other C++ clients. (My libBasexTest.cpp is a lot easier to understand ;-)) libBasexCpp is largely a rewrite of the RbaseX client. I did not convert the specific R elements. I am now going to start working on a SWI-Prolog client. As it looks now, that will be a Prolog shell around libBasexCpp. According to programmers from the Prolog forums, that's a good solution direction. Ben Op 16-07-2024 om 11:05 schreef Christian Grün:
Hi Ben,
Thanks for your new client, much appreciated. I’ve added it to our documentation [1].
Out of interest: How does your solution differ from the other two clients that we have listed?
Best, Christian
participants (2)
-
Ben Engbers -
Christian Grün