/proquint

Proquints: Identifiers that are Readable, Spellable, and Pronounceable.

Primary LanguagePythonOtherNOASSERTION

                              Proquints:
                    Identifiers that are Readable,
                     Spellable, and Pronounceable

                         Daniel S. Wilkerson

Welcome!

Please see the article on proquints: http://arXiv.org/html/0901.4016;
A local copy is in proquint-proposal.txt and this can be converted to
proquint-proposal.gen.html by typing "make".

For the C and Java implementations: run "make clean all check" to
build and check.  After that you can run "make demo" for a simple demo
and "make examples" for more examples.

Local implementations by Daniel S. Wilkerson:

 * C implementation: proquint.c converts between proquint, hex, and
   decimal strings.

 * Java implementation: Proquint.java converts between proquint, hex,
   and decimal strings.

Local implementations by others:

 * Python implementation by Ruslan Shestopalyuk: converts between
   proquint, hex, decimal and IPv4 address strings. Installs a script
   'proquint', which can be used to convert between above
   representations via command line (see python/README.md)

 * Javascript implementation by Luděk Rašek: The code is in
   js/proquint.js.  Try it in js/proquint.html for values of arbitrary
   length.  Demo is accessible as github page:
   http://l-ra.github.io/proquint/js/proquint.html

Remote implementations by others:

 * Elixir implementation by Khaja Minhajuddin: Converts binaries to
   proquint encoded strings, Decodes proquint encode strings to
   binaries. Implementation can be found at
   https://hexdocs.pm/proquint/Proquint.html
   
 * Elm implimentation:
   - Install with `elm install michaelglass/proquint`.
   - Docs are here:
   https://package.elm-lang.org/packages/michaelglass/proquint/latest/Proquint.


 * Perl implementation by Mark Lawrence: Can also be installed from
   CPAN with cpan Proquint (or +cpanm+ if one has it installed).
   https://github.com/mlawren/p5-Proquint
   
 * Rust implementation by Christian Blades: Crate at
   https://crates.io/crates/proquint, source at
   https://github.com/christian-blades-cb/proquint-rs
   
 * Go implementation by Nat Welch: https://github.com/icco/proquint
 
 * Haskell implementation by Francesco Gazzetta: https://hackage.haskell.org/package/proquint

See License.txt for copyright and terms of use.

The proquint home is http://github.com/dsw/proquint.

History:

 * 9 January 2009: initial release
 * 8 April 2012: add Java implementation
 * 30 December 2015: add Javascript implementation by Luděk Rašek
 * 3 October 2017: add Python implementation by Ruslan Shestopalyuk

Enjoy.

  -- Daniel