~/bend-docscommunity

foo.bend checks

raw source on the hub · import 0xab13df3d6c442b9408d79d186652b3aa/foo.bend as Foo

base List: reverse is involutive and an insertion sort orders (dupes kept) on concrete lists -- closed by conversion alone, no output. ported from bend3: list literals become Con/Nil spines, bend3-base List.sort becomes a local insertion sort (bend base has none); the compare-and-rebuild double use takes + binders (List<&2, U32> is Data, so it duplicates)

1 import
import Base

Laws

law l123 provedsource · line 9 · raw

List<&2, U32>

law l321 provedsource · line 15 · raw

List<&2, U32>

law insert.put provedsource · line 21 · raw

@+x:U32 -> @h:U32 -> @+t:List<&2, U32> -> @r:List<&2, U32> -> @f:Bool -> List<&2, U32>

law insert provedsource · line 36 · raw

@+x:U32 -> @+xs:List<&2, U32> -> List<&2, U32>

law sort provedsource · line 48 · raw

@xs:List<&2, U32> -> List<&2, U32>

law rev provedsource · line 59 · raw

{List.reverse(&2, U32, l123) == l321 : List<&2, U32>}

law rev2 provedsource · line 65 · raw

{List.reverse(&2, U32, List.reverse(&2, U32, l123)) == l123 : List<&2, U32>}

law srt provedsource · line 71 · raw

{sort([3, 1, 2, 3]) == [1, 2, 3, 3] : List<&2, U32>}