Support other Foxx Language Dialects

52 views
Skip to first unread message

Suminda Dharmasena

unread,
Jul 16, 2016, 11:26:43 AM7/16/16
to ArangoDB
Hello,

JS is not the everyone's strong suit. So is it possible to add other language dialects to define stored procedures. Perhaps by being able to links to an internal C/C++ API.

Suminda

Claudius Weinberger

unread,
Jul 16, 2016, 6:27:16 PM7/16/16
to ArangoDB
To add other scripting languages or even C++ is a very complex task. The way we have implemented JS and our Foxx framework already offer you possibilities which nobody else offers to you. What are you missing?

Claudius 

Suminda Dharmasena

unread,
Jul 16, 2016, 9:22:25 PM7/16/16
to aran...@googlegroups.com
We are not JS Developers. So we like to use the language we use to develop the rest of the application for stored procedures also.

--
You received this message because you are subscribed to a topic in the Google Groups "ArangoDB" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/arangodb/S52DfxgBYLU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to arangodb+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Claudius Weinberger

unread,
Jul 16, 2016, 10:58:16 PM7/16/16
to ArangoDB
As I wrote, it's not so easy to add other languages. Maybe we will add other languages sometime in the future. At the moment there aren't concrete plans for that.

The Foxx framework makes it really easy to write services. Have a look at https://docs.arangodb.com/3.0/Manual/Foxx/index.html


Am Samstag, 16. Juli 2016 18:22:25 UTC-7 schrieb Suminda Dharmasena:
We are not JS Developers. So we like to use the language we use to develop the rest of the application for stored procedures also.

Suminda Dharmasena

unread,
Jul 17, 2016, 10:21:26 AM7/17/16
to aran...@googlegroups.com
If you expose the interface / API Foxx uses then others can write their own Foxx dialect.

Claudius Weinberger

unread,
Jul 17, 2016, 12:05:34 PM7/17/16
to ArangoDB
Foxx based on our Google V8 engine integration. The way we integrated it gives you everything from V8 with the full access to database core on C++ level. That's much more than an API. We speak about tens of thousand lines of code. So it would be helpful if you describe in detail what you understand by the concept "Foxx dialect".

Rus Brushkoff

unread,
Jul 17, 2016, 1:40:15 PM7/17/16
to ArangoDB
The V8 engine allows to extend the JS with the C++ https://developers.google.com/v8/embed You are free to create any needed function or so.

суббота, 16 июля 2016 г., 18:26:43 UTC+3 пользователь Suminda Dharmasena написал:

Suminda Dharmasena

unread,
Jul 17, 2016, 10:19:32 PM7/17/16
to aran...@googlegroups.com

I am not looking at V8 interface. I am looking for a direct API to add support for another language.


--

Claudius Weinberger

unread,
Jul 17, 2016, 10:32:50 PM7/17/16
to ArangoDB
As I wrote before there isn't such an API.


Am Sonntag, 17. Juli 2016 19:19:32 UTC-7 schrieb Suminda Dharmasena:

I am not looking at V8 interface. I am looking for a direct API to add support for another language.

Wilfried Gösgens

unread,
Jul 18, 2016, 4:07:08 AM7/18/16
to ArangoDB
Hi Summinda,
Another possibility may be languages transpiling to JS:

http://stackoverflow.com/questions/36845520/arangodb-foxx-and-clojure-script

Big parts of the Foxx ecosystem are implemented in JS; So writing V8 modules will probably be the best way to work with C++ code inside of foxx.

Regarding C++ AQL user functions; we currently don't want to provide an API for this, as internal interfaces and datastructures still may change.

However, ArangoDB is open source, and we accept pull requests. So if you have AQL functions usefull for others, we will welcome your contribution.


Regarding Javascript, "Javascript the good parts"  ( http://shop.oreilly.com/product/9780596517748.do ) is a good starting point.

In the end the language gap between C++ and JS isn't that huge - which is why we at ArangoDB have chosen to embedd V8.

Cheers,
Willi

Rus Brushkoff

unread,
Jul 22, 2016, 8:54:22 AM7/22/16
to ArangoDB
You have to create such or use what is present. The V8 C++ is the easiest way for you.

понедельник, 18 июля 2016 г., 5:19:32 UTC+3 пользователь Suminda Dharmasena написал:
Reply all
Reply to author
Forward
0 new messages