Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make a subset of heraldcore's functionality usable in headless situations #17

Closed
BaeoMaltinsky opened this issue Sep 9, 2019 · 0 comments
Labels
Discussion Proposed implementations, thoughts about current ones. enhancement New feature or request

Comments

@BaeoMaltinsky
Copy link
Collaborator

BaeoMaltinsky commented Sep 9, 2019

Possible directions (not mutually exclusive):

  • Expose NodeJS bindings (via neon): This is preferable to WebAssembly for a number of reasons. neon is fairly mature and makes heraldcore functionality drivable from Node.
  • Expose Python bindings (via PyO3): We know from experience that this is easy, if a bit rough.
  • Make heraldcore's public Rust API more ergonomic: This is something that we should do anyway.
  • Manually expose C-API: This will be painful to do safely given how complex the data is (we can say this from experience), unless we lean heavily on serializing data structures to cross the FFI boundary.
  • Expose C++ and JNI bindings (via rust_swig): I'm not sure how mature or robust rust_swing is, so this may not be the correct approach. jni-rs may be a better solution for JVM languages.
  • Expose Lua bindings (via rlua). It's unclear how many people would use this.
  • Use socket-based RPC like neovim. This is almost certainly something we want eventually, much easier to do safely than many of the other approaches, and something we have fairly extensive experience with.
@BaeoMaltinsky BaeoMaltinsky added the enhancement New feature or request label Sep 9, 2019
@BaeoMaltinsky BaeoMaltinsky changed the title Daemonize a subset of heraldcore's functionality Make a subset of heraldcore's functionality usable in headless environment Sep 9, 2019
@BaeoMaltinsky BaeoMaltinsky changed the title Make a subset of heraldcore's functionality usable in headless environment Make a subset of heraldcore's functionality usable in headless situations Sep 9, 2019
@BaeoMaltinsky BaeoMaltinsky added the Discussion Proposed implementations, thoughts about current ones. label Sep 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion Proposed implementations, thoughts about current ones. enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant