--- /dev/null
+module OFC.Common where
+
+data IndexType =
+ FunctionIndex |
+ SpinIndex |
+ SpatialIndex
+ deriving (Show, Eq, Enum, Bounded)
module OFC.Parser (runOFLParser) where
+import OFC.Common
import OFC.TopLevel
import OFC.TargetMapping
import Data.Functor.Identity (Identity)
--- /dev/null
+module OFC.SecondLevel where
+import Data.Complex
+
+data Type =
+ RealType |
+ ComplexType |
+ IntegerType |
+ Psinc Integer |
+ PsincReciprocal Integer
+
+data Expression =
+ IndexedIdentifier String [String] |
+ Upsample |
+ Downsample |
+ Apply DiagonalOperator Expression |
+ Product Expression Expression |
+ InnerProduct Expression Expression
+
+data DiagonalOperator =
+ PositionOperator OperatorExpr |
+ MomentumOperator OperatorExpr
+
+data OperatorExpr =
+ ConstReal Double |
+ ConstComplex (Complex Double) |
+ ConstInteger Integer |
+ Negate OperatorExpr |
+ LatticeComponent String |
+ Multiply OperatorExpr OperatorExpr |
+ Sum OperatorExpr String |
+ Power OperatorExpr OperatorExpr
module OFC.TopLevel where
import OFC.TargetMapping
+import OFC.Common
import Text.PrettyPrint
import Data.List (foldl')
import Data.Map (Map)
IntegerType
deriving (Show, Eq, Enum, Bounded)
-data IndexType =
- FunctionIndex |
- SpinIndex |
- SpatialIndex
- deriving (Show, Eq, Enum, Bounded)
-
-- Expressions
data Expression =
IndexedIdentifier String [String] |
Hs-Source-Dirs: .
GHC-Options: -Wall -fno-warn-missing-signatures
Build-Depends: base, containers, parsec >= 3, pretty, transformers
- Exposed-Modules: OFC.Parser
+ Exposed-Modules: OFC.Common
+ OFC.Parser
OFC.TopLevel
+ OFC.SecondLevel
OFC.TargetMapping
Executable ofc