digitalmars.D.announce - difflib-d: Port of Python's difflib
- Ikey Doherty (17/17) Jun 21 2022 Howdy all :)
Howdy all :) We recently encountered an interesting issue during development of our automated packaging tool, (`boulder new`). The computation time for levenshteinDifference severely impeded performance when scanning LICENSE files and matching them with the SPDX data set. As an experiment, we've begun porting Python's difflib to D and it can be found here: https://gitlab.com/serpent-os/dlang/difflib-d It's a bit ugly internally right now but it does implement the bare basics, i.e. `SequenceMatcher` with the following APIs: - `longestMatch` - Return the longest match between two sequences - `matchingBlocks` - Return Match[] of all encountered matches - `ratio` - Similarity between two sequences, 0.0f-1.0f Anyway, thought it may come in handy for people in future, so if there's interest we can flesh it out beyond our own use case. :)
Jun 21 2022