~/bend-docscommunity

main.bend checks

raw source on the hub · import 0xd684886d10b431b9dce6c3b2d1ef1980/main.bend as Main

1 import
import Base

Types

type Error source · line 3 · raw

Data

type Vec source · line 9 · raw

@-T:Data -> Type

Definitions

def Vec.maximum source · line 12 · raw

U32

def Vec.bounded source · line 15 · raw

@-T:Data -> @limit:U32 -> Vec<T>

def Vec.new source · line 18 · raw

@-T:Data -> Vec<T>

def Vec.length source · line 21 · raw

@-T:Data -> @v:Vec<T> -> Pair(Vec<T>, U32)

def Vec.capacity source · line 26 · raw

@-T:Data -> @v:Vec<T> -> Pair(Vec<T>, U32)

def Vec.limit source · line 31 · raw

@-T:Data -> @v:Vec<T> -> Pair(Vec<T>, U32)

def slot_result source · line 36 · raw

@-T:Data -> @x:Maybe<&2, T> -> Result<&1, &1, Error, T>

def observed source · line 43 · raw

@-T:Data -> @n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @r:Pair(Array<Maybe<&2, T>>, Maybe<&2, T>) -> Pair(Vec<T>, Result<&1, &1, Error, T>)

def get_if source · line 48 · raw

@-T:Data -> @n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @a:Array<Maybe<&2, T>> -> @i:U32 -> @valid:Bool -> Pair(Vec<T>, Result<&1, &1, Error, T>)

def Vec.get source · line 56 · raw

@-T:Data -> @v:Vec<T> -> @+index:U32 -> Pair(Vec<T>, Result<&1, &1, Error, T>)

def swap_if source · line 61 · raw

@-T:Data -> @n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @a:Array<Maybe<&2, T>> -> @i:U32 -> @value:T -> @valid:Bool -> Pair(Vec<T>, Result<&1, &1, Error, T>)

def Vec.swap source · line 69 · raw

@-T:Data -> @v:Vec<T> -> @+index:U32 -> @value:T -> Pair(Vec<T>, Result<&1, &1, Error, T>)

def discard_value source · line 74 · raw

@-T:Data -> @r:Result<&1, &1, Error, T> -> Result<&1, &1, Error, Unit>

def set_result source · line 81 · raw

@-T:Data -> @pair:Pair(Vec<T>, Result<&1, &1, Error, T>) -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def Vec.set source · line 85 · raw

@-T:Data -> @v:Vec<T> -> @index:U32 -> @value:T -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def plan_step source · line 89 · raw

@fuel:Nat -> @+cap:U32 -> @depth:Nat -> @+minimum:U32 -> @enough:Bool -> Pair(U32, Nat)

This plan is bounded by 24 doublings; caller checks minimum <= maximum.

def unpack source · line 101 · raw

@-A:Type -> @-B:Type -> @-R:Type -> @pair:Pair(A, B) -> @f:(@_:A -> @_:B -> R) -> R

def copy_slots source · line 105 · raw

@-T:Data -> @count:Nat -> @+i:U32 -> @old:Array<Maybe<&2, T>> -> @fresh:Array<Maybe<&2, T>> -> Array<Maybe<&2, T>>

def allocate source · line 115 · raw

@-T:Data -> @+n:U32 -> @m:U32 -> @a:Array<Maybe<&2, T>> -> @plan:Pair(U32, Nat) -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def reserve_grow source · line 121 · raw

@-T:Data -> @+n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @a:Array<Maybe<&2, T>> -> @+minimum:U32 -> @enough:Bool -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def reserve_limit source · line 129 · raw

@-T:Data -> @n:U32 -> @+c:U32 -> @d:Nat -> @m:U32 -> @a:Array<Maybe<&2, T>> -> @+minimum:U32 -> @valid:Bool -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def Vec.reserve source · line 137 · raw

@-T:Data -> @v:Vec<T> -> @+minimum:U32 -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def push_ready source · line 142 · raw

@-T:Data -> @v:Vec<T> -> @value:T -> @r:Result<&1, &1, Error, Unit> -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def push_reserved source · line 151 · raw

@-T:Data -> @value:T -> @pair:Pair(Vec<T>, Result<&1, &1, Error, Unit>) -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def push_if source · line 155 · raw

@-T:Data -> @+n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @a:Array<Maybe<&2, T>> -> @value:T -> @valid:Bool -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def Vec.push source · line 163 · raw

@-T:Data -> @v:Vec<T> -> @value:T -> Pair(Vec<T>, Result<&1, &1, Error, Unit>)

def pop_if source · line 168 · raw

@-T:Data -> @n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @a:Array<Maybe<&2, T>> -> @empty:Bool -> Pair(Vec<T>, Result<&1, &1, Error, T>)

def Vec.pop source · line 177 · raw

@-T:Data -> @v:Vec<T> -> Pair(Vec<T>, Result<&1, &1, Error, T>)

def prepend_slot source · line 182 · raw

@-T:Data -> @acc:List<&1, T> -> @x:Maybe<&2, T> -> List<&1, T>

def collect source · line 190 · raw

@-T:Data -> @count:Nat -> @last:U32 -> @a:Array<Maybe<&2, T>> -> @acc:List<&1, T> -> Pair(Array<Maybe<&2, T>>, List<&1, T>)

Build from the right so the result is ordered without quadratic append.

def slice_collected source · line 201 · raw

@-T:Data -> @n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @pair:Pair(Array<Maybe<&2, T>>, List<&1, T>) -> Pair(Vec<T>, Result<&1, &1, Error, List<&1, T>>)

def list_collected source · line 206 · raw

@-T:Data -> @n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @pair:Pair(Array<Maybe<&2, T>>, List<&1, T>) -> Pair(Vec<T>, List<&1, T>)

def slice_if source · line 211 · raw

@-T:Data -> @n:U32 -> @c:U32 -> @d:Nat -> @m:U32 -> @a:Array<Maybe<&2, T>> -> @start:U32 -> @+end:U32 -> @valid:Bool -> Pair(Vec<T>, Result<&1, &1, Error, List<&1, T>>)

def Vec.slice source · line 219 · raw

@-T:Data -> @v:Vec<T> -> @+start:U32 -> @+end:U32 -> Pair(Vec<T>, Result<&1, &1, Error, List<&1, T>>)

def Vec.to_list source · line 224 · raw

@-T:Data -> @v:Vec<T> -> Pair(Vec<T>, List<&1, T>)