doc[core]

This commit is contained in:
vegowotenks 2025-08-15 12:49:40 +02:00
parent b7e579dc20
commit 3847e1e81e
6 changed files with 13 additions and 1 deletions

View file

@ -60,6 +60,8 @@ deriving stock instance (Show (f (Expression f)), Show (f Scalie.Domain.Type), S
deriving stock instance (Read (f (Expression f)), Read (f Scalie.Domain.Type), Read (f Text)) => Read (Definition f)
deriving stock instance (Eq (f (Expression f)), Eq (f Scalie.Domain.Type) , Eq (f Text)) => Eq (Definition f)
-- | Using custom instances allows extracting just the text whereever possible.
instance ImplicitKeyOf (Definition (Provenance a)) where
type KeyType (Definition (Provenance a)) = Text
keyOf :: Definition (Provenance a) -> KeyType (Definition (Provenance a))

View file

@ -24,6 +24,8 @@ import Test.QuickCheck.Gen (Gen)
import Test.QuickCheck qualified as Gen
-- | Desugared expression.
type Expression :: (Type -> Type) -> Type
type role Expression nominal
data Expression f

View file

@ -9,7 +9,7 @@ import Data.Kind (Type)
import Language.Scalie.Core.Definition (Definition)
import Data.Map.Implicit (ImplicitMap)
-- | A module groups multiple related definitions.
-- | A module groups multiple related variable definitions.
--
-- >>> import Data.Functor.Identity (Identity(..))
-- >>> import Data.Map.Implicit qualified as ImplicitMap

View file

@ -11,6 +11,8 @@ import Data.Bifunctor (Bifunctor (bimap))
import Data.Bifoldable (Bifoldable (bifoldMap))
import Data.Bitraversable (Bitraversable (bitraverse))
-- | Provenance records where something comes from. E.g. file name, file line, other sources.
type Provenance :: Type -> Type -> Type
type role Provenance representational representational
data Provenance source value = Provenance

View file

@ -2,6 +2,10 @@
module Language.Scalie.Core.Provenance.SourceLocation (SourceLocation(..)) where
import Data.Kind (Type)
-- | Location of anything in a user-provided source file.
--
-- TODO: Add more constructors
type SourceLocation :: Type
data SourceLocation
= Synthesized