ede- Templating language with similar syntax and features to Liquid or Jinja2.
Copyright(c) 2013-2020 Brendan Hay <brendan.g.hay@gmail.com>
LicenseThis Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. A copy of the MPL can be found in the LICENSE file or you can obtain it at http://mozilla.org/MPL/2.0/.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Portabilitynon-portable (GHC extensions)
Safe HaskellNone



Warning: this is an internal module, and does not have a stable API or name. Functions in this module may not check or enforce preconditions expected by public modules. Use at your own risk!

AST smart constructors.


newtype Fix f Source #


Fix (f (Fix f)) 

cofreeFix :: Functor f => a -> Fix f -> Cofree f a Source #

var :: Id -> Var Source #

eapp :: a -> [Exp a] -> Exp a Source #

efun :: Id -> Exp a -> Exp a Source #

efilter :: Exp a -> (Id, [Exp a]) -> Exp a Source #

elet :: Maybe (Id, Exp a) -> Exp a -> Exp a Source #

ecase :: Exp a -> [Alt (Exp a)] -> Maybe (Exp a) -> Exp a Source #

eif :: (Exp a, Exp a) -> [(Exp a, Exp a)] -> Maybe (Exp a) -> Exp a Source #

eempty :: Exp a -> Exp a -> Maybe (Exp a) -> Exp a Source #

true :: Exp a -> Alt (Exp a) Source #

false :: Exp a -> Alt (Exp a) Source #

wild :: Exp a -> Alt (Exp a) Source #