Add base58 functions to zuse
(cold 62 (just '+'))
(cold 63 (just '/'))
==
+ ::
+ ++ en-base58
+ |= dat=@
+ =/ cha
+ '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
+ %- flop
+ |- ^- tape
+ ?: =(0 dat) ~
+ :- (cut 3 [(mod dat 58) 1] cha)
+ $(dat (div dat 58))
+ ::
+ ++ de-base58
+ |= t=tape
+ =- (scan t (bass 58 (plus -)))
+ ;~ pose
+ (cook |=(a=@ (sub a 56)) (shim 'A' 'H'))
+ (cook |=(a=@ (sub a 57)) (shim 'J' 'N'))
+ (cook |=(a=@ (sub a 58)) (shim 'P' 'Z'))
+ (cook |=(a=@ (sub a 64)) (shim 'a' 'k'))
+ (cook |=(a=@ (sub a 65)) (shim 'm' 'z'))
+ (cook |=(a=@ (sub a 49)) (shim '1' '9'))
+ ==
-- ::mimes
:: :: ++en-json:html
++ en-json :: print json
