I have made an unicode tr39 confusable detection and skeleton implementation, ex_confusables
This library is able to compare two strings if they are visually confusable as described in Unicode® Technical Standard #39: Both strings get transformed into a skeleton format before comparing them. The skeleton is generated by normalizing the string (NFD), replacing confusable characters, and normalizing the string again.
Also did some profiling between char list and binary string implementation. The interesting part is char list is faster than binary. The result is here.
Feel free to open any issues you encounter in the Github repo and try it!
I am not aware of such a convention (and the Hex or Elixir core teams may be better people to ask) however I do have some ideas about naming (related to another topic). Hopefully I will get a chance to post about it at some point
I have not found a reference to my assumption in the forum yet, but I know that I read something about the use of “ex_” for library names and I think it was from Jose Valim itself, but probably I am mistaken in saying that was from him and on my affirmation, because I found this article:
When porting a library from another ecosystem, the tradition is to use the existing name, and prepend it with “ex_”, or less commonly, append “_ex”.