ocaml.org
ocaml.org copied to clipboard
Explain `as` Syntax for Aliasing in Pattern Matching
OCaml provides Syntax for defining an alias for some parameters you pattern match on.
For example:
let f ((x, y) as arg) = ...
let f ({a;b} as arg2) = ...
let f = function Some _ as opt -> opt | None -> Some 42;;
So, it's possible to both pattern match on a function parameter and give the parameter a name.
Relevant documents where this needs to be explained:
- https://github.com/ocaml/ocaml.org/blob/main/data/tutorials/language/0it_00_values_functions.md
- https://github.com/ocaml/ocaml.org/blob/main/data/tutorials/language/0it_01_basic_datatypes.md
- https://v2.ocaml.org/releases/5.1/htmlman/patterns.html#sss:pat-alias (Alias patterns)