KAP language integration

Please note that I have just read about TileDB and I have not actually experimented with it yet. I have only read the description of the project.

I’m currently working on a programming language which I have named KAP. Its core is based on APL, but on top of that I have built a lot of other features not commonly seen in languages in the APL lineage (except perhaps R).

When I read the description about the TileDB project, it seemed to me that an APL-based language should blend pretty well with this database. I have a lot of things on my todo-list with regards to my project, but adding TileDB support now seems to be something that needs to get onto that list.

My question is: Has there been any efforts to integrate TileDB into an array-based programming language such as APL? If so, how did it work?

Here’s the link to the Github project: https://github.com/lokedhs/array

Here is screencast showing some features of the language, although it doesn’t focus on the array features very much: https://peertube.mastodon.host/videos/watch/4a19ca9e-7ca6-4142-bda6-c353915bfe23

Hi @loke,

No - so far we have focused on Python, R, SQL (via MariaDB), and Scala/Spark for higher-level languages; as well as Go, Java, and C++ for lower/system-level languages. NumPy and R are clearly rather different from APL family languages, but assuming there is good C-level foreign function interface support in Kotlin Multiplatform, there should be no problem wrapping the core libtiledb API.

Additionally, from my very limited understanding of Kotlin Multiplatform, one of the targets is the JVM. Assuming you are using the JVM target, you may first want to try building on our existing Java bindings, which have been most heavily-used via our Scala/Spark.


Currently, I’m targeting both native and JVM, but the primary platform is the JVM (that’s where I’ve implemented the UI and it also has better performance). The C integration in Kotlin native is really good, so I don’t think there would be any problems there.

I will play around with this a bit and if I achieve something worth talking about, I will post my progress here in case there is interest.

That’s great, please let us know if you have any problems!