open import 1Lab.Path.IdentitySystem open import 1Lab.Path open import 1Lab.Type open import Data.Reflection.Fixity open import Data.String.Base open import Data.String.Show open import Data.Word.Base open import Data.Dec.Base open import Data.Id.Base module Data.Reflection.Name where postulate Name : Type {-# BUILTIN QNAME Name #-} private module P where primitive primQNameEquality : Name → Name → Bool primQNameLess : Name → Name → Bool primShowQName : Name → String primQNameToWord64s : Name → Σ Word64 (λ _ → Word64) primQNameToWord64sInjective : ∀ x y → primQNameToWord64s x ≡ᵢ primQNameToWord64s y → x ≡ᵢ y primQNameFixity : Name → Fixity open P renaming (primQNameFixity to name→fixity) using () public instance Discrete-Name : Discrete Name Discrete-Name = Discrete-inj' _ (P.primQNameToWord64sInjective _ _) Show-Name : Show Name Show-Name = default-show P.primShowQName