{-# OPTIONS --without-K --safe #-} open import Prelude module Utils.Error where open import Utils.Reflection.Core open import Utils.Reflection.Show private variable A : Set _ notEndIn : ErrorPart → ErrorPart → TC A notEndIn s n = typeError (strErr "Type of" ∷ s ∷ strErr "does not end in " ∷ n ∷ []) #idxNotMatch : TC A #idxNotMatch = typeError [ strErr "number of indices doesn't match." ] notλ : Term → TC A notλ t = typeError $ strErr (show t) ∷ strErr " cannot be reduced further to a λ-abstraction" ∷ [] notDef : Term → TC A notDef t = typeError $ termErr t ∷ strErr " is not a definition." ∷ [] notApp : Term → TC A notApp t = typeError $ termErr t ∷ strErr " is not an application witha name." ∷ [] notFun : Name → TC A notFun d = typeError $ nameErr d ∷ [ strErr " is not a function." ] notData : Term → TC A notData t = typeError $ termErr t ∷ [ strErr " is not a datatype." ] IMPOSSIBLE : TC A IMPOSSIBLE = typeError $ [ strErr "An impossible event occurs." ] IMPOSSIBLE-term : Term → TC A IMPOSSIBLE-term t = typeError $ termErr t ∷ [ strErr " should not occur" ]