b64.bend checks
raw source on the hub · import 0xd66ee682d4ce8c656782ca9e0e4634cb/b64.bend as B64
Base64 over byte lists (no IO, no TLS).
Import as: import ./b64.bend as B64 Then B64.encode, B64.decode.
Discipline (user-land Bend has no Base carve-out): - every callee is defined ABOVE its caller; only self-recursion. - match scrutinees are params or pattern-bound vars, never computed. - helpers above drivers are leaves: they never call back down.
1 import
import Base
Definitions
def enc_char source · line 15 · raw
@s:U32 -> U32
def dec_digit source · line 151 · raw
@c:U32 -> U32
def dec_is_data source · line 288 · raw
@v:U32 -> Bool
def dec_is_bad source · line 293 · raw
@v:U32 -> Bool
def sext0 source · line 298 · raw
@n:U32 -> U32
def sext1 source · line 301 · raw
@n:U32 -> U32
def sext2 source · line 304 · raw
@n:U32 -> U32
def sext3 source · line 307 · raw
@n:U32 -> U32
def tail1.s1 source · line 312 · raw
@+b0:U32 -> U32
def tail1.s0 source · line 315 · raw
@+b0:U32 -> U32
def tail1.emit source · line 318 · raw
@+b0:U32 -> String
def tail2.s0 source · line 323 · raw
@+b0:U32 -> U32
def tail2.s1 source · line 326 · raw
@+b0:U32 -> @+b1:U32 -> U32
def tail2.s2 source · line 329 · raw
@+b1:U32 -> U32
def tail2.emit source · line 332 · raw
@+b0:U32 -> @+b1:U32 -> String
def group3 source · line 337 · raw
@+b0:U32 -> @+b1:U32 -> @+b2:U32 -> U32
def emit4 source · line 342 · raw
@+n:U32 -> String
def encode source · line 348 · raw
@bs:List<&2, U32> -> String
def chars_of source · line 365 · raw
@s:String -> List<&2, U32>
def quad_is_bad source · line 376 · raw
@v0:U32 -> @v1:U32 -> @v2:U32 -> @v3:U32 -> Bool
def quad_pad_ok.go source · line 379 · raw
@is2:Bool -> @is3:Bool -> Bool
def quad_pad_ok source · line 390 · raw
@v2:U32 -> @v3:U32 -> Bool
def quad_n source · line 393 · raw
@v0:U32 -> @v1:U32 -> @v2:U32 -> @v3:U32 -> @pad2:Bool -> U32
def quad_bytes source · line 400 · raw
@+n:U32 -> @pad:U32 -> List<&2, U32>
def quad_pad_count.go source · line 409 · raw
@is2:Bool -> @is3:Bool -> U32
def quad_pad_count source · line 420 · raw
@v2:U32 -> @v3:U32 -> U32
def quad_done source · line 423 · raw
@v0:U32 -> @v1:U32 -> @+v2:U32 -> @+v3:U32 -> Result<&1, &1, Pair(U32, String), List<&2, U32>>
def quad_chk1 source · line 426 · raw
@v0:U32 -> @v1:U32 -> @+v2:U32 -> @+v3:U32 -> @is1:Bool -> Result<&1, &1, Pair(U32, String), List<&2, U32>>
def quad_chk0 source · line 433 · raw
@v0:U32 -> @+v1:U32 -> @+v2:U32 -> @+v3:U32 -> @is0:Bool -> Result<&1, &1, Pair(U32, String), List<&2, U32>>
def quad_chkpad source · line 440 · raw
@+v0:U32 -> @+v1:U32 -> @+v2:U32 -> @+v3:U32 -> @ok:Bool -> Result<&1, &1, Pair(U32, String), List<&2, U32>>
def quad_go source · line 447 · raw
@+v0:U32 -> @+v1:U32 -> @+v2:U32 -> @+v3:U32 -> @bad:Bool -> Result<&1, &1, Pair(U32, String), List<&2, U32>>
def quad source · line 454 · raw
@c0:U32 -> @c1:U32 -> @c2:U32 -> @c3:U32 -> Result<&1, &1, Pair(U32, String), List<&2, U32>>
def decode_quads.put source · line 461 · raw
@head:Result<&1, &1, Pair(U32, String), List<&2, U32>> -> @tail:Result<&1, &1, Pair(U32, String), List<&2, U32>> -> Result<&1, &1, Pair(U32, String), List<&2, U32>>
def decode_quads source · line 475 · raw
@cs:List<&2, U32> -> Result<&1, &1, Pair(U32, String), List<&2, U32>>
def decode source · line 494 · raw
@s:String -> Result<&1, &1, Pair(U32, String), List<&2, U32>>