meta -> Ren.AST.Expr.ExprF (Ren.AST.Expr.Expr meta) -> Ren.AST.Expr.ExprF (Ren.AST.Expr.Expr meta)
A transformation is any function that takes both the metadata and expression node in the AST and returns a new AST node.
run : List (Transformation meta) -> Ren.AST.Module.Declaration meta -> Ren.AST.Module.Declaration meta
defaults : List (Transformation meta)
placeholders : meta -> Ren.AST.Expr.ExprF (Ren.AST.Expr.Expr meta) -> Ren.AST.Expr.ExprF (Ren.AST.Expr.Expr meta)
Ren allows certain expressions to include placeholder bindings: _
. These
bindings get transformed into lambdas and allow us a simple way to achieve
positional piping, partial operator application, and more.
blocks : meta -> Ren.AST.Expr.ExprF (Ren.AST.Expr.Expr meta) -> Ren.AST.Expr.ExprF (Ren.AST.Expr.Expr meta)
patterns : meta -> Ren.AST.Expr.ExprF (Ren.AST.Expr.Expr meta) -> Ren.AST.Expr.ExprF (Ren.AST.Expr.Expr meta)