{"id":22370478,"url":"https://github.com/0xd34df00d/edit-distance-linear","last_synced_at":"2025-07-30T20:31:52.741Z","repository":{"id":62435887,"uuid":"225079602","full_name":"0xd34df00d/edit-distance-linear","owner":"0xd34df00d","description":"Levenshtein edit distance in linear memory (also turns out to be faster than C++)","archived":false,"fork":false,"pushed_at":"2023-01-19T20:39:36.000Z","size":25,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-28T14:09:00.597Z","etag":null,"topics":["edit-distance","haskell","levenshtein-distance"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xd34df00d.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-30T22:50:55.000Z","updated_at":"2023-01-19T20:39:40.000Z","dependencies_parsed_at":"2023-02-11T21:01:32.069Z","dependency_job_id":null,"html_url":"https://github.com/0xd34df00d/edit-distance-linear","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xd34df00d%2Fedit-distance-linear","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xd34df00d%2Fedit-distance-linear/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xd34df00d%2Fedit-distance-linear/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xd34df00d%2Fedit-distance-linear/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xd34df00d","download_url":"https://codeload.github.com/0xd34df00d/edit-distance-linear/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228183079,"owners_count":17881594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["edit-distance","haskell","levenshtein-distance"],"created_at":"2024-12-04T19:45:44.347Z","updated_at":"2024-12-04T19:45:45.215Z","avatar_url":"https://github.com/0xd34df00d.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# edit-distance-linear\n\n[![Build Status][travis-badge]][travis]\n[![Hackage][hackage-badge]][hackage]\n\nThe pure Haskell implementation of the Levenshtein edit distance, with linear space complexity.\n\n## Comparison\n\nThere are already several other existing implementations, but the goals and design decisions vary. In particular, this package is intended to be used to:\n* compare long strings (think tens of thousands of characters), driving the implementation to live in the `ST` monad and aim at linear space complexity to lower GC pressure;\n* not care about Unicode, thus accepting `ByteString`s and comparing them byte-by-byte rather than character-by-character (or glyph-by-glyph, or whatever is the right notion of an edit for Unicode).\n\nAmong the alternatives:\n* [text-metrics](http://hackage.haskell.org/package/text-metrics) — uses a similar algorithm, but cares about Unicode, making it 4-5 times slower.\n* [edit-distance](http://hackage.haskell.org/package/edit-distance) — uses a very different algorithm (which we might implement here one day with huge potential benefits), which tends to consume more memory (I'm not up for estimating its space asymptotics, though).\n\n[travis]:        \u003chttps://travis-ci.org/0xd34df00d/edit-distance-linear\u003e\n[travis-badge]:  \u003chttps://travis-ci.org/0xd34df00d/edit-distance-linear.svg?branch=master\u003e\n[hackage]:       \u003chttps://hackage.haskell.org/package/edit-distance-linear\u003e\n[hackage-badge]: \u003chttps://img.shields.io/hackage/v/edit-distance-linear.svg\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xd34df00d%2Fedit-distance-linear","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xd34df00d%2Fedit-distance-linear","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xd34df00d%2Fedit-distance-linear/lists"}