Rust and Julia BoF at JuliaCon 2024

Welcome Julia and Rust friends!

Our BoF was a friendly discussion mostly around what Rust can offer to Julia devs. Most of the attendees didn’t know Rust yet but were keen to learn what it offers.

For those interested in learning Rust, I recommend the following free resources.

If you’re around at the Hackathon and have questions, I’ll be more than happy to help out.


If you have interesting ideas for hwo to bring the 2 languages together, please post in this chat.

3 Likes

I hope this is interesting, because I struggle for a while now to overcome a problem in this project. I am stuck now, I have to admit.

I am trying to build a rust interface for Julia to the GUI library Slint:

So far, my strategy for this is, to implement the rust interface step by step by making the Slint examples working for Julia. The result would be not the perfect rust interface API but a working base to create this in a second implementation phase. The Slint examples are located here:

and I started with the examples in 7guis:

The examples bookers.rs and cells.rs are working already (of course hello world is working too):
image

I am stuck with the next example circledraw.jl because this needs (in my opinion) a dynamic array to store the circles which are drawn. And I am fighting rust and it’s ownership without success for a while now. The idea is (in short) that the array to push the circle information into, resides in the .slint GUI definition file and adding the circles to this array. But rust don’t let me do this as I am not able to overcome the ownership constraint of this array.

The current progress with Slint.jl is avaiable here:

Install, Build and running first examples are there for a fast to go. A bit more information is in deps/README.md. The current state of the code is probably not very clean but it’s also not very complex, at least for people with better Rust knowledge than I have.

I would be happy if someone could overcome the current hurdle and I am quite optimistic if this is solved, all other issues can be solved in a similar way. That means, with a solution a Slint GUI for Julia is just a matter of time doing the rest, which I am happy to do.

Why don’t you stop by with your problems at chat.slint.dev? We do not know Julia, but we do know rust and slint and have created bindings for several languages before… I am sure we can at least suggest things:-)

4 Likes

Welcome here and thanks for your attention.

I did with an earlier question and was kindly helped. For my current issue I was thinking about a pure rust example which resembles best what I am trying to do. But until today I haven’t done it yet. So no special reason but just not found the time yet.

I think it’s likely to be similar the 7guis\cells.rs with the task to add rows dynamically to the cell matrix (if possible).

1 Like

Wonderful. I am not really good in the language area myself, so I am notmsure how much Incan helpmwith this specific issue, but my colleagues can help:-)

I know about julia, but never looked into the language, sorry, I stumbled over your post via google alerts:-)

1 Like

I think the ability to pass a RecordBatchIterator using the Arrow ffi C api would be helpful to stream data between Rust and Arrow.jl without having to copy it. It would make it easier to integrate the Tables.jl interface and all of the crates that work with arrow.