8573 / fuzzy-regex.rs

A @rust-lang library aiming to provide regexes with fuzzy matching
https://gitlab.com/c74d/fuzzy-regex.rs
Other
2 stars 0 forks source link

How Can I Help? #1

Open dkatz23238 opened 3 years ago

dkatz23238 commented 3 years ago

I would like to deep dive into rust, I have been using it for a couple weeks now.

This is an interesting problem for me to work on, is there any clear way I can help you accelerate the development of this package or should I figure it out by myself?

8573 commented 3 years ago

Hello,

Welcome to Rust, and thanks for your interest. I think what little I ever knew about fuzzy regex matching is recorded in the files in this repository. My unimplemented plan for this library was to proceed by test-driven development, testing my attempt at implementing fuzzy regex matching against the included "worked example" that @eternaleye wrote up, which specifies exactly how the state of the algorithm should evolve. Unfortunately, it looks like I never even finished transcribing @eternaleye's worked example into Rust test code.

Finishing this library certainly sounds like a way to learn Rust. If you want to submit patches (pull requests), I would be willing to answer your questions about Rust, but, if you have questions about the automata theory involved, you'll need to ask someone else (or ‘somebook’ else) — @eternaleye was my source on that, but I leave it to him to say whether he would be willing to continue answering such questions.

Likely no-one has built this code in three years. Rust has fairly good backwards compatibility, so it may does still compile, and, otherwise, making it compile shouldn't be difficult. When it does compile, the standard invocation cargo test should suffice to test the code against the test case. (The included Makefile is for users of the odd operating system NixOS, who, if they follow best practices, don't have Cargo quite so easily accessible.)

In case you haven't tried it yet, Clippy is a useful linting tool that will guide you to follow Rust best practices with much less latency than I could. It wasn't as easily accessible three years ago as it is now, so (as far as I recall) I never applied it to this library.

One initial step that ought to be taken would be to set up continuous integration, perhaps using actions-rs. Maybe this should be done by me; maybe I'll find time to do it it's done now (I think).

Eventually it may be good to replace the old error-handling library error-chain. My preference for its replacement would be snafu. This shouldn't be too difficult, but it shouldn't be urgent either.

dkatz23238 commented 3 years ago

Thanks for your detailed explanation and warm example. I will get my hands dirty with making sure at least that it compiles and then using cargo test to run the test backlogs. I hope to get some patches done soon enough after reviewing automata theory. King regards. Should I close this issue as you replied?

8573 commented 3 years ago

I'll leave it open for now. Thanks again for your interest.