Utilities for phonetic base wrangling.
Here you can primarily find functions for dealing with the "patp" phonetic
base used by Urbit. The
@p encoding is used for naming ships; it uniquely
represents a 32-bit number in a memorable and pronounceable fashion.
@p encoding is an obfuscated representation of an underlying 32-bit
number, in particular, hence the 'ob' in the library's name.
The library exposes two functions,
fromPatp, for converting
between representations. You can render a
patp value via the
Here's a quick example:
> import qualified Urbit.Ob as Ob > let nidsut = Ob.patp 15663360 > Ob.render nidsut "~nidsut-tomdun" > Ob.fromPatp nidsut 15663360