open import 1Lab.Type
open import Data.Reflection.Name
open import Data.Reflection.Term
open import Data.String.Base
open import Data.List.Base
open import Meta.Append
module Data.Reflection.Error where
data ErrorPart : Type where
strErr : String → ErrorPart
termErr : Term → ErrorPart
pattErr : Pattern → ErrorPart
nameErr : Name → ErrorPart
{-# BUILTIN AGDAERRORPART ErrorPart #-}
{-# BUILTIN AGDAERRORPARTSTRING strErr #-}
{-# BUILTIN AGDAERRORPARTTERM termErr #-}
{-# BUILTIN AGDAERRORPARTPATT pattErr #-}
{-# BUILTIN AGDAERRORPARTNAME nameErr #-}
instance
From-string-ErrorPart : From-string ErrorPart
From-string-ErrorPart .From-string.Constraint _ = ⊤
From-string-ErrorPart .from-string s = strErr s
instance
From-string-error : From-string (List ErrorPart)
From-string-error .From-string.Constraint _ = ⊤
From-string-error .from-string s = strErr s ∷ []