links

The Links Programming Language
IN THIS PACKAGE
Module Links_lens . Type
type t =
| ConcreteLens of Sort.t(*

A statically fully checked lens.

*)
| AbstractLens of {
checked : bool;
sort : Sort.t;
}
(*

The type of a lens where not all checks have been performed. The predicate value is a dummy value (None) and not the actual predicate.

*)
val sort : t -> Sort.t

Get the sort of the lens.

val equal : t -> t -> bool
val type_lens_fun_dep : fds:(string list * string list) list -> columns:Column.List.t -> ( t, Sort.Lens_sort_error.t ) result
val set_serial : t -> columns:Alias.Set.t -> t

Change the specified columns to be of serial type.

module Select_lens_error : sig ... end
val type_select_lens : t -> predicate:('a * 'a Links_lens__Phrase_sugar.t) -> ( t, 'a Select_lens_error.t ) result
val type_select_lens_dynamic : t -> ( t, 'a Select_lens_error.t ) result
module Drop_lens_error : sig ... end
val type_drop_lens : t -> drop:Alias.t list -> default:Links_lens__Phrase_type.t list -> key:Alias.Set.t -> ( t, Drop_lens_error.t ) result
module Join_lens_error : sig ... end
val type_join_lens : t -> t -> on:(string * string * string) list -> del_left:('a * 'a Links_lens__Phrase_sugar.t) -> del_right:('a * 'a Links_lens__Phrase_sugar.t) -> ( t, 'a Join_lens_error.t ) result
val record_type : t -> Links_lens__Phrase_type.t
module Unchecked_lens_error : sig ... end
val is_abstract : t -> bool

Returns true if the lens is an abstract lens.

val is_checked : t -> bool

Returns true if an abstract lens has been checked or the lens is a concrete lens.

val ensure_checked : t -> ( unit, Unchecked_lens_error.t ) result

Ensures that an abstract lens type has explicitly been checked.

val make_checked : t -> t

Set an abstract lens as explicitly checked.