ppx_composeversion
Inlined Function Composition
ppx_compose
is a simple syntax extension which rewrites code containing
function compositions into compositionfree code, effectively inlining the
composition operators. The following two operators are supported
let (%) g f x = g (f x)
let (%>) f g x = g (f x)
Corresponding definitions are not provided, so partial applications of (%)
and (%>)
will be undefined unless you provide the definitions.
The following rewrites are done:
A composition occurring to the left of an application is reduced by applying each term of the composition from right to left to the argument, ignoring associative variations.
A composition which is not the left side of an application is first turned into one by ηexpansion, then the above rule applies.
Any partially applied composition operators are passed though unchanged.
E.g.
h % g % f ==> (fun x > h (f (g x)))
h % (g % f) ==> (fun x > h (f (g x)))
(g % f) (h % h) ==> g (f (fun x > h (h x)))
Author  Petter A. Urkedal 

License  LGPL3.0only WITH OCamlLGPLlinkingexception 
Published  
Homepage  https://github.com/paurkedal/ppx_compose/ 
Issue Tracker  https://github.com/paurkedal/ppx_compose/issues 
Maintainer  paurkedal@gmail.com 
Dependencies 

Source [http]  https://github.com/paurkedal/ppx_compose/releases/download/v0.0.4/ppx_compose0.0.4.tbz md5=d597c0b1cf29402bbd29d821792c867e 
Edit  https://github.com/ocaml/opamrepository/tree/master/packages/ppx_compose/ppx_compose.0.0.4/opam 