From 04c6cd248aff1cbce68ae2fb997705e921d21809 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 4 Apr 2019 18:12:19 +0200 Subject: Tweak matching on Some/None --- dhall_core/src/core.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'dhall_core/src/core.rs') diff --git a/dhall_core/src/core.rs b/dhall_core/src/core.rs index 0ea8c83..afa3d3f 100644 --- a/dhall_core/src/core.rs +++ b/dhall_core/src/core.rs @@ -324,6 +324,25 @@ pub fn rc(x: T) -> Rc { Rc::new(x) } +pub fn app(f: Expr, args: Vec>) -> Expr { + if args.is_empty() { + f + } else { + Expr::App(rc(f), args) + } +} + +pub fn app_rc( + f: SubExpr, + args: Vec>, +) -> SubExpr { + if args.is_empty() { + f + } else { + rc(Expr::App(f, args)) + } +} + fn add_ui(u: usize, i: isize) -> usize { if i < 0 { u.checked_sub(i.checked_neg().unwrap() as usize).unwrap() -- cgit v1.2.3