diff options
author | Tom Smeding <tom@tomsmeding.com> | 2024-10-27 15:04:47 +0100 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2024-10-27 15:04:47 +0100 |
commit | 991dacbec1a84400ab3412811f246b1fc58b0938 (patch) | |
tree | b3ef681b83c2a40ba36c5f30dbae3c181e280d44 /src/Language.hs | |
parent | 8cbc20cb1759a7a8c0e11f7da91da79cedf3d2d6 (diff) |
Better inline syntax for Language
Diffstat (limited to 'src/Language.hs')
-rw-r--r-- | src/Language.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Language.hs b/src/Language.hs index 3a4a36c..b61a497 100644 --- a/src/Language.hs +++ b/src/Language.hs @@ -26,6 +26,12 @@ body = NBody lambda :: forall a name env env' t. Var name a -> NFun ('(name, a) : env) env' t -> NFun env env' t lambda = NLam +inline :: NFun '[] params t -> SList (NExpr env) (UnName params) -> NExpr env t +inline = inlineNFun + +(.$) :: SList f list -> f a -> SList f (a : list) +(.$) = flip SCons + let_ :: Var name a -> NExpr env a -> NExpr ('(name, a) : env) t -> NExpr env t let_ = NELet |