Jikka-5.0.11.1: A transpiler from Python to C++ for competitive programming
Copyright(c) Kimiyuki Onaka 2020
LicenseApache License 2.0
Maintainerkimiyuki95@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Jikka.Core.Language.BuiltinPatterns

Description

BuiltinPatterns provides pattern synonyms for applications of Builtin functions. For example, provide a pattern Sum' e which is interpreted as AppBuiltin Sum [e], or the same thing, App (Lit (LitBuiltin Sum)) [e].

Documentation

pattern Negate' :: Expr -> Expr Source #

pattern Plus' :: Expr -> Expr -> Expr Source #

pattern Minus' :: Expr -> Expr -> Expr Source #

pattern Mult' :: Expr -> Expr -> Expr Source #

pattern FloorDiv' :: Expr -> Expr -> Expr Source #

pattern FloorMod' :: Expr -> Expr -> Expr Source #

pattern CeilDiv' :: Expr -> Expr -> Expr Source #

pattern CeilMod' :: Expr -> Expr -> Expr Source #

pattern Pow' :: Expr -> Expr -> Expr Source #

pattern Abs' :: Expr -> Expr Source #

pattern Gcd' :: Expr -> Expr -> Expr Source #

pattern Lcm' :: Expr -> Expr -> Expr Source #

pattern Min2' :: Type -> Expr -> Expr -> Expr Source #

pattern Max2' :: Type -> Expr -> Expr -> Expr Source #

pattern Iterate' :: Type -> Expr -> Expr -> Expr -> Expr Source #

pattern Not' :: Expr -> Expr Source #

pattern And' :: Expr -> Expr -> Expr Source #

pattern Or' :: Expr -> Expr -> Expr Source #

pattern Implies' :: Expr -> Expr -> Expr Source #

pattern If' :: Type -> Expr -> Expr -> Expr -> Expr Source #

pattern BitNot' :: Expr -> Expr Source #

pattern BitAnd' :: Expr -> Expr -> Expr Source #

pattern BitOr' :: Expr -> Expr -> Expr Source #

pattern BitXor' :: Expr -> Expr -> Expr Source #

pattern BitLeftShift' :: Expr -> Expr -> Expr Source #

pattern BitRightShift' :: Expr -> Expr -> Expr Source #

pattern MatAp' :: Int -> Int -> Expr -> Expr -> Expr Source #

pattern MatAdd' :: Int -> Int -> Expr -> Expr -> Expr Source #

pattern MatMul' :: Int -> Int -> Int -> Expr -> Expr -> Expr Source #

pattern MatPow' :: Int -> Expr -> Expr -> Expr Source #

pattern VecFloorMod' :: Int -> Expr -> Expr -> Expr Source #

pattern MatFloorMod' :: Int -> Int -> Expr -> Expr -> Expr Source #

pattern ModNegate' :: Expr -> Expr -> Expr Source #

pattern ModPlus' :: Expr -> Expr -> Expr -> Expr Source #

pattern ModMinus' :: Expr -> Expr -> Expr -> Expr Source #

pattern ModMult' :: Expr -> Expr -> Expr -> Expr Source #

pattern ModInv' :: Expr -> Expr -> Expr Source #

pattern ModPow' :: Expr -> Expr -> Expr -> Expr Source #

pattern ModMatAp' :: Int -> Int -> Expr -> Expr -> Expr -> Expr Source #

pattern ModMatAdd' :: Int -> Int -> Expr -> Expr -> Expr -> Expr Source #

pattern ModMatMul' :: Int -> Int -> Int -> Expr -> Expr -> Expr -> Expr Source #

pattern ModMatPow' :: Int -> Expr -> Expr -> Expr -> Expr Source #

pattern Nil' :: Type -> Expr Source #

pattern Cons' :: Type -> Expr -> Expr -> Expr Source #

pattern Snoc' :: Type -> Expr -> Expr -> Expr Source #

pattern Foldl' :: Type -> Type -> Expr -> Expr -> Expr -> Expr Source #

pattern Scanl' :: Type -> Type -> Expr -> Expr -> Expr -> Expr Source #

pattern Build' :: Type -> Expr -> Expr -> Expr -> Expr Source #

pattern Len' :: Type -> Expr -> Expr Source #

pattern Map' :: Type -> Type -> Expr -> Expr -> Expr Source #

pattern Filter' :: Type -> Expr -> Expr -> Expr Source #

pattern At' :: Type -> Expr -> Expr -> Expr Source #

pattern SetAt' :: Type -> Expr -> Expr -> Expr -> Expr Source #

pattern Elem' :: Type -> Expr -> Expr -> Expr Source #

pattern Sum' :: Expr -> Expr Source #

pattern Product' :: Expr -> Expr Source #

pattern ModSum' :: Expr -> Expr -> Expr Source #

pattern ModProduct' :: Expr -> Expr -> Expr Source #

pattern Min1' :: Type -> Expr -> Expr Source #

pattern Max1' :: Type -> Expr -> Expr Source #

pattern ArgMin' :: Type -> Expr -> Expr Source #

pattern ArgMax' :: Type -> Expr -> Expr Source #

pattern All' :: Expr -> Expr Source #

pattern Any' :: Expr -> Expr Source #

pattern Sorted' :: Type -> Expr -> Expr Source #

pattern Reversed' :: Type -> Expr -> Expr Source #

pattern Range1' :: Expr -> Expr Source #

pattern Range2' :: Expr -> Expr -> Expr Source #

pattern Range3' :: Expr -> Expr -> Expr -> Expr Source #

pattern Tuple' :: [Type] -> Expr Source #

pattern Proj' :: [Type] -> Int -> Expr -> Expr Source #

pattern LessThan' :: Type -> Expr -> Expr -> Expr Source #

pattern LessEqual' :: Type -> Expr -> Expr -> Expr Source #

pattern GreaterThan' :: Type -> Expr -> Expr -> Expr Source #

pattern GreaterEqual' :: Type -> Expr -> Expr -> Expr Source #

pattern Equal' :: Type -> Expr -> Expr -> Expr Source #

pattern NotEqual' :: Type -> Expr -> Expr -> Expr Source #

pattern Fact' :: Expr -> Expr Source #

pattern Choose' :: Expr -> Expr -> Expr Source #

pattern Permute' :: Expr -> Expr -> Expr Source #

pattern MultiChoose' :: Expr -> Expr -> Expr Source #

pattern Bottom' :: Type -> String -> Expr Source #