feat[core]: Expressions and Patterns
This commit is contained in:
parent
45c02e7e54
commit
c02f1b292b
9 changed files with 192 additions and 15 deletions
|
@ -17,6 +17,7 @@ import Data.Maybe (Maybe(Nothing, Just))
|
|||
import Language.Scalie.Core.Definition (Definition(body, name))
|
||||
import Language.Scalie.Core.Expression (Expression(RawInt))
|
||||
import Language.Scalie.Bytecode.Instruction qualified as Instruction
|
||||
import Prelude (undefined)
|
||||
|
||||
-- | The name of the entrypoint function
|
||||
|
||||
|
@ -27,7 +28,8 @@ type CompilationError :: Type
|
|||
newtype CompilationError = NameNotFound Text
|
||||
|
||||
compile :: Module (Provenance SourceLocation) -> EntryPoint -> Either CompilationError Bytecode.Object
|
||||
compile mod entry = let
|
||||
compile mod entry = undefined
|
||||
{- let
|
||||
topLevelDefinitions = mod.definitions.value
|
||||
in Bytecode.Object . Vector.fromList <$> case ImplicitMap.lookup entry topLevelDefinitions of
|
||||
Nothing -> Left $ NameNotFound entry
|
||||
|
@ -35,3 +37,4 @@ compile mod entry = let
|
|||
[ (\(RawInt i) -> Instruction.PushInteger i) <$> def.body
|
||||
, Provenance def.name.source (Instruction.ReturnValues 1)
|
||||
]
|
||||
-}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue