diff options
Diffstat (limited to 'src/Language/Fiddle/Ast/FileInterface.hs')
-rw-r--r-- | src/Language/Fiddle/Ast/FileInterface.hs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/Language/Fiddle/Ast/FileInterface.hs b/src/Language/Fiddle/Ast/FileInterface.hs new file mode 100644 index 0000000..d29fc9d --- /dev/null +++ b/src/Language/Fiddle/Ast/FileInterface.hs @@ -0,0 +1,33 @@ +module Language.Fiddle.Ast.FileInterface where + +-- Definitions for file interfaces. These interfaces contain an abstract +-- representation of the symbols and information exported by a fiddle file. +-- These interfaces are also serializable, and when compiling a fiddle file, all +-- the import statements should supply an fdi (fiddle interface) file to speed +-- up subsequent compilations. + +-- import Data.Text +-- +-- data ObjectType = ObjectType +-- { objectTypeSize :: Word32 +-- } +-- +-- data Metatype +-- = Object +-- { objectLocation :: Word64, +-- objectType :: Text +-- } +-- | Type +-- { typeSizeBytes :: Word32 +-- } +-- +-- data Element a = Element +-- { elementFullyQualifiedSymbol :: Text, +-- elementDocumentation :: Maybe Text, +-- elementMetatype :: Metatype, +-- elementAnnotation :: a +-- } +-- +-- data FileInterface a = FiddleInterface +-- { exportedElements :: [Element a] +-- } |