main.bend checks
raw source on the hub · import 0x88d5b48c03f82f217d3a2aa0656744f4/main.bend as Main
3 imports
import Base import ./types.bend as T import 0xd684886d10b431b9dce6c3b2d1ef1980/main.bend as V
Types
type Source source · line 6 · raw
Type
Buffer and helpers are representation-private by API convention.
Buffer@file:U32 -> @size:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @starts:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> Source
type Search source · line 202 · raw
Data
Upper-bound search: greatest start <= offset. 25 fuel covers <= 2^24 lines.
Searching@lo:U32 -> @hi:U32 -> Search
Found@line:U32 -> Search
BadIndexSearch
Definitions
def Source.maximum source · line 9 · raw
U32
def scalar source · line 12 · raw
@+c:Char -> Bool
def finish_push source · line 16 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @r:Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, Unit> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def finish_line source · line 21 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, Unit>) -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def add_line source · line 25 · raw
@id:U32 -> @+n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @newline:Bool -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def add_char_result source · line 31 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @newline:Bool -> @r:Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, Unit> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def finish_char source · line 36 · raw
@id:U32 -> @n:U32 -> @lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @newline:Bool -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char>, Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, Unit>) -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def add_valid source · line 40 · raw
@s:Source -> @+c:Char -> @valid:Bool -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def add source · line 46 · raw
@s:Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source> -> @+c:Char -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def build source · line 51 · raw
@text:String -> @s:Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def Source.bounded source · line 56 · raw
@file:U32 -> @text:String -> @limit:U32 -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def Source.new source · line 59 · raw
@file:U32 -> @text:String -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Source>
def Source.file source · line 62 · raw
@s:Source -> Pair(Source, U32)
def Source.length source · line 66 · raw
@s:Source -> Pair(Source, U32)
def count_result source · line 70 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, U32) -> Pair(Source, U32)
def Source.line_count source · line 74 · raw
@s:Source -> Pair(Source, U32)
def chars_text source · line 79 · raw
@xs:List<&1, Char> -> String
def text_result source · line 84 · raw
@id:U32 -> @n:U32 -> @lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char>, List<&1, Char>) -> Pair(Source, String)
def Source.text source · line 88 · raw
@s:Source -> Pair(Source, String)
def char_result source · line 93 · raw
@r:Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, Char> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Char>
def get_result source · line 98 · raw
@id:U32 -> @n:U32 -> @lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char>, Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, Char>) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Char>)
def Source.get source · line 102 · raw
@s:Source -> @i:U32 -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Char>)
def cursor_if source · line 107 · raw
@s:Source -> @c:0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor -> @valid:Bool -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor>)
def Source.cursor source · line 112 · raw
@s:Source -> @+i:U32 -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor>)
def Source.checkpoint source · line 117 · raw
@c:0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor -> 0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor
def restore_if source · line 120 · raw
@s:Source -> @i:U32 -> @same:Bool -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor>)
def Source.restore source · line 125 · raw
@s:Source -> @c:0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor>)
def maybe_char source · line 130 · raw
@r:Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Char> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Maybe<&1, Char>>
def peek_read source · line 135 · raw
@pair:Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Char>) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Maybe<&1, Char>>)
def peek_at source · line 139 · raw
@s:Source -> @i:U32 -> @eof:Bool -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Maybe<&1, Char>>)
def peek_checked source · line 145 · raw
@s:Source -> @r:Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor> -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Maybe<&1, Char>>)
def peek_restored source · line 151 · raw
@pair:Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor>) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Maybe<&1, Char>>)
def Source.peek source · line 155 · raw
@s:Source -> @c:0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Maybe<&1, Char>>)
def bumped source · line 158 · raw
@c:0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor -> @r:Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Maybe<&1, Char>> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Pair(0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor, Maybe<&1, Char>)>
def bump_result source · line 164 · raw
@c:0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor -> @pair:Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Maybe<&1, Char>>) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Pair(0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor, Maybe<&1, Char>)>)
def Source.bump source · line 168 · raw
@s:Source -> @+c:0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, Pair(0x88d5b48c03f82f217d3a2aa0656744f4/types.Cursor, Maybe<&1, Char>)>)
def span_if source · line 171 · raw
@s:Source -> @span:0x88d5b48c03f82f217d3a2aa0656744f4/types.Span -> @valid:Bool -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Span>)
def Source.span source · line 176 · raw
@s:Source -> @+start:U32 -> @+end:U32 -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Span>)
def slice_result source · line 181 · raw
@r:Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, List<&1, Char>> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, String>
def extract_result source · line 186 · raw
@id:U32 -> @n:U32 -> @lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char>, Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, List<&1, Char>>) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, String>)
def extract_if source · line 190 · raw
@s:Source -> @a:U32 -> @b:U32 -> @same:Bool -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, String>)
def Source.extract source · line 196 · raw
@s:Source -> @span:0x88d5b48c03f82f217d3a2aa0656744f4/types.Span -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, String>)
def split_search source · line 207 · raw
@lo:U32 -> @hi:U32 -> @mid:U32 -> @before:Bool -> Search
def split_read source · line 212 · raw
@lo:U32 -> @hi:U32 -> @mid:U32 -> @pos:U32 -> @r:Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, U32> -> Search
def search_read source · line 217 · raw
@lo:U32 -> @hi:U32 -> @mid:U32 -> @pos:U32 -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, U32>) -> Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Search)
def search_step source · line 221 · raw
@lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @+lo:U32 -> @+hi:U32 -> @pos:U32 -> @close:Bool -> Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Search)
def search source · line 228 · raw
@fuel:Nat -> @+pos:U32 -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Search) -> Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Search)
def location_read source · line 238 · raw
@line:U32 -> @pos:U32 -> @r:Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, U32> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Location>
def locate_read source · line 243 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @line:U32 -> @pos:U32 -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, U32>) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Location>)
def location_finish source · line 247 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @pos:U32 -> @state:Search -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Location>)
def locate_searched source · line 254 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @pos:U32 -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Search) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Location>)
def locate_counted source · line 258 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @+pos:U32 -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, U32) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Location>)
def locate_if source · line 262 · raw
@s:Source -> @+pos:U32 -> @valid:Bool -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Location>)
def Source.locate source · line 268 · raw
@s:Source -> @+pos:U32 -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Location>)
def offset_valid source · line 273 · raw
@start:U32 -> @col:U32 -> @valid:Bool -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>
def offset_bound source · line 278 · raw
@+start:U32 -> @+col:U32 -> @next:Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, U32> -> Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>
def offset_next source · line 283 · raw
@start:U32 -> @col:U32 -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, U32>) -> Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>)
def offset_line source · line 287 · raw
@lines:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32> -> @+line:U32 -> @+col:U32 -> @n:U32 -> @start:Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, U32> -> @last:Bool -> Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>)
def offset_finish source · line 295 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>)
def offset_read source · line 299 · raw
@id:U32 -> @+n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @line:U32 -> @col:U32 -> @last:Bool -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, Result<&1, &1, 0xd684886d10b431b9dce6c3b2d1ef1980/main.Error, U32>) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>)
def offset_counted source · line 303 · raw
@id:U32 -> @n:U32 -> @chars:0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<Char> -> @+line:U32 -> @col:U32 -> @pair:Pair(0xd684886d10b431b9dce6c3b2d1ef1980/main.Vec<U32>, U32) -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>)
def Source.offset source · line 307 · raw
@s:Source -> @loc:0x88d5b48c03f82f217d3a2aa0656744f4/types.Location -> Pair(Source, Result<&1, &1, 0x88d5b48c03f82f217d3a2aa0656744f4/types.Error, U32>)