Conversation
Contributor
|
I wonder if variants are the right approach here. The motivation here is to make things to work in JS right? In which case, I don't assume 2 instances of this library will be useful in the same executable. |
Owner
Author
|
@rgrinberg Unfortunately, the APIs are not exactly the same (Re can do more things). We could provide a minimal common version and use variants for that part. |
|
If we want to avoid variants, maybe define signature for the last common denominator, and provide a module alias for each platform mapping to the most efficient implementation of that signature for the platform? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The goal is more or less to solve #1, it includes #21
We should also be able to easily write an re2 or a pcre backend.
Unfortunately, since it uses functors, it means that it's not possible to write code that will easily work on any backend just with that. I tried the polymorphism approach, and it really doesn't work so well, we would need tons of parameters (or a module parameter, which sounds really terrible).
cc @rgrinberg @paurkedal for feedback ?