packages feed

caliper-0.1.0.0: src/Caliper/Syntax/Position.hs

{-# LANGUAGE DeriveGeneric #-}

module Caliper.Syntax.Position where

import Control.DeepSeq
import Data.Text qualified as T
import GHC.Generics

-- | Line, column
data SrcPosition = SrcPosition !Int !Int
  deriving (Show, Generic)

instance NFData SrcPosition

-- TODO: don't save this path multiple times, read from the bigger AST
data SrcSpan = SrcSpan T.Text {-FilePath-} SrcPosition SrcPosition
  deriving (Show, Generic)

instance NFData SrcSpan