urbit-hob: Hoon-style atom manipulation and printing functions
Here you can primarily find functions for dealing with the "patp" and "patq" phonetic bases used by Urbit. The @p encoding is used for naming ships, while the @q encoding is used for arbitrary data; they each uniquely represent an underlying natural number (or atom) in a memorable and pronounceable fashion.
The @p encoding is an obfuscated representation of an underlying atom, in particular, hence the "ob" in the library's name.
The Urbit.Ob
module exposes two families of functions, patp
and
fromPatp
, and then patq
and fromPatq
, for converting between
representations. You can also render a Patp
or Patq
value as Text
via
the renderPatp
and renderPatq
functions, or parse them from Text
via
parsePatp
and parsePatq
.
Since @p values represent ships, some utilities for dealing with ships are
also exposed. The clan
and sein
functions are useful for determining a
ship's class and (default) parent, respectively.
Some quick examples:
>>>
:set -XOverloadedStrings
>>>
import qualified Urbit.Ob as Ob
>>>
let nidsut = Ob.patp 15663360
>>>
let marzod = Ob.patq (Ob.fromPatp nidsut)
>>>
Ob.renderPatp nidsut
"~nidsut-tomdun">>>
Ob.renderPatq marzod
"~mun-marzod">>>
Ob.fromPatp nidsut
15663360>>>
Ob.parsePatp "~nidsut-tomdun"
Right ~nidsut-tomdun>>>
Ob.clan nidsut
Planet>>>
Ob.sein nidsut
~marzod
Flags
Manual Flags
Name | Description | Default |
---|---|---|
release | Build for release | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- urbit-hob-0.3.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0, 0.1.1, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3 |
---|---|
Dependencies | base (>=4.7 && <6), bytestring (>=0.10 && <1), murmur3 (>=1.0 && <2), text (>=1.2 && <2), vector (>=0.12 && <1) [details] |
Tested with | ghc ==8.6.5, ghc ==8.8.3 |
License | MIT |
Copyright | 2019 Jared Tobin |
Author | Jared Tobin |
Maintainer | jared@jtobin.io |
Category | Urbit |
Home page | https://github.com/urbit/urbit-hob |
Bug tracker | https://github.com/urbit/urbit-hob/issues |
Source repo | head: git clone https://github.com/urbit/urbit-hob |
Uploaded | by JaredTobin at 2020-06-04T08:06:53Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 2536 total (23 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2020-06-04 [all 1 reports] |