spec/containers/intrusive_doubly_linked_list/programs.bend checks
raw source on the hub · import bend-collections-laws-containers@1.0.0.0/spec/containers/intrusive_doubly_linked_list/programs.bend as Programs
1 import
import Base
Types
type Edit source · line 5 · raw
@-N:Data -> @-I:Data -> Data
Independent write programs. These describe field updates and root hooks, without importing the implementation or its generated helpers.
Next@-N:Data -> @-I:Data -> @node:N -> @link:Maybe<&2, N> -> Edit<N, I>
Prev@-N:Data -> @-I:Data -> @node:N -> @link:Maybe<&2, N> -> Edit<N, I>
Head@-N:Data -> @-I:Data -> @root:I -> @link:Maybe<&2, N> -> Edit<N, I>
Nonempty@-N:Data -> @-I:Data -> @root:I -> @node:N -> Edit<N, I>
Definitions
def remove source · line 11 · raw
@-N:Data -> @-I:Data -> @+root:I -> @+node:N -> @+before:Maybe<&2, N> -> @+after:Maybe<&2, N> -> List<&2, Edit<N, I>>
def prepend source · line 22 · raw
@-N:Data -> @-I:Data -> @root:I -> @+node:N -> @head:Maybe<&2, N> -> List<&2, Edit<N, I>>
def clear_order source · line 42 · raw
@-N:Data -> @nodes:List<&2, N> -> List<&2, N>
Exact ordered callback sequence for clear; no writes on the empty list.
Templates
template apply source · line 29 · raw
@-S:Type -> @-N:Data -> @-I:Data -> @-sn:(@_:S -> @_:N -> @_:Maybe<&2, N> -> S) -> @-sp:(@_:S -> @_:N -> @_:Maybe<&2, N> -> S) -> @-sh:(@_:S -> @_:I -> @_:Maybe<&2, N> -> S) -> @-sf:(@_:S -> @_:I -> @_:N -> S) -> @s:S -> @e:Edit<N, I> -> S
template run source · line 36 · raw
@-S:Type -> @-N:Data -> @-I:Data -> @-sn:(@_:S -> @_:N -> @_:Maybe<&2, N> -> S) -> @-sp:(@_:S -> @_:N -> @_:Maybe<&2, N> -> S) -> @-sh:(@_:S -> @_:I -> @_:Maybe<&2, N> -> S) -> @-sf:(@_:S -> @_:I -> @_:N -> S) -> @edits:List<&2, Edit<N, I>> -> @s:S -> S