Ruby language bindings and technical questions #187
Replies: 3 comments 1 reply
-
@thedavemarshall Thanks for your interest in the project, and initiative for a Ruby binding.
Ruby binding would be great. My focus for the near term is to make Regorus even more performant for certain use cases. I don't have much experience with Ruby either. Given your extensive experience with Ruby, it would be excellent if you could take ownership of the Ruby binding. Would it be possible to share your usecase for a Ruby binding?
See also #168. Publishing packages through official Microsoft pipelines takes quite a bit of effort. There is a chance that more dev resources are assigned to Regorus over the next few months. If that happens, we'd start publishing the packages to various repositories for use by the package managers
My preference would be the latter. Mainly for the two reasons:
However, the former approach can also work. The published gem needs to state that it is unofficial in the sense that it is not endorsed or published by Microsoft, given the prevalence and severity of supply chain attacks. |
Beta Was this translation helpful? Give feedback.
-
That would be awesome! We have a related issue of keeping all the bindings up to date: #160
For now, I'd prefer exposing functions in
The reason they are marked unstable is that we want to try out a few approaches that can improve performance.
I tried out some of these ideas in an F* reference implementation I'm writing (https://github.com/anakrish/Rego-FStar/blob/fc5e9de088ddefd523ce58e2fff05a1019f54b0c/Rego.Ast.fsti#L53). There are likely other changes we could do to make evaluation faster. Hence my hesitation in exposing AST for now. Having said that, I'd like to understand the use cases that would be served better by exposing the AST. |
Beta Was this translation helpful? Give feedback.
-
@thedavemarshall It would be really cool if we could expose the Engine::add_extension capability in various bindings. |
Beta Was this translation helpful? Give feedback.
-
First, this is an awesome project! Thank you so much for sharing it with the world!
I am familiar with REGO, and I am interested in using https://github.com/matsadler/magnus to create a ruby gem to wrap the rust APIs. I see you've already done impressive work with structuring an FFI entrypoint and methods. I am new to rust, but I have extensive ruby experience, and I love learning. I'd love to help out with your efforts, could you please entertain a few questions for me?
at the technical level the FFI supports a lot of excellent functionality, but I had a few ideas I'd love to get your thoughts on
Thank you for your time, and thanks again for such a cool project!
Beta Was this translation helpful? Give feedback.
All reactions