links

The Links Programming Language
IN THIS PACKAGE
type 'a t = private {
node : 'a;
pos : Position.t;
}
val make : ?pos:Position.t -> 'a -> 'a t

Construct a new with_pos given a node and an optional source code position. Use the dummy position if none is specified.

val dummy : 'a -> 'a t

Construct a new with_pos with a dummy source position

val node : 'a t -> 'a

Fetch the corresponding node.

val pos : 'a t -> Position.t

Fetch the corresponding source code position.

val map : 'a t -> f:( 'a -> 'b ) -> 'b t
val map2 : 'a t -> f_pos:( Position.t -> Position.t ) -> f_node:( 'a -> 'b ) -> 'b t
val with_node : 'a t -> 'b -> 'b t
val nodes_of_list : 'a t list -> 'a list

Discard positions from elements in a list *

val traverse : 'a t -> o:'o -> f_pos:( 'o -> Position.t -> 'b ) -> f_node:( 'b -> 'a -> 'c ) -> 'c
val traverse_map : 'a t -> o:'o -> f_pos:( 'o -> Position.t -> 'b * Position.t ) -> f_node:( 'b -> 'a -> 'c * 'd ) -> 'c * 'd t