ppx_viewpattern

View patterns in OCaml
README

Transformation for view patterns in OCaml.
Attempts to imitate Haskell view patterns.

Usage

In dune:

(preprocess (pps ppx_viewpattern))

Syntax

Use [%view? pat when exp] as a pattern to apply exp to whatever the pattern is matching and match the result of the exp application against pat.
Analogous to the Haskell view pattern exp -> pat.

See example/ for example usage.

Supported in:

  • match ... with ... cases,

  • function ... cases,

  • fun ... -> ... arguments,

  • let ... in ... expression binding left-hand sides,

  • try ... with ... cases,

  • nested inside the pat and exp parts of a view pattern itself.

Caveats

A view pattern disables redundant-case and partial-match warnings for the corresponding match/function.

Currently unsupported in:

  • let ... definition left-hand sides (at top level or in modules).

Install
Published
14 Mar 2022
Sources
ppx_viewpattern-0.1.0.tbz
sha256=826e53c910e1255698e2988e1055f5dc173a4f3fb6cd92346f62d0b3d0e05c7b
sha512=c7011376ff879bd0a64f5c92ee23dd1734ede7ade623491b6c80e8f9d00871718bcf998f8950727f0e9e176e3a4e864fcad52e3995e71b53ab1c19de43643250
Dependencies
odoc
with-doc
qcheck-ounit
with-test
ounit2
with-test
ppxlib
>= "0.9.0"
dune
>= "2.8"
Reverse Dependencies