feat(library/init/lean/modulename): add helper functions

This commit is contained in:
Leonardo de Moura 2019-07-26 16:46:03 -07:00
parent dea1e52c96
commit 9bed367cc0

View file

@ -18,6 +18,17 @@ instance : Inhabited ModuleName := ⟨ModuleName.explicit Name.anonymous⟩
instance : HasCoe Name ModuleName := ⟨explicit⟩
def quickLt : ModuleName → ModuleName → Bool
| (explicit n₁) (explicit n₂) := Name.quickLt n₁ n₂
| (explicit _) (relative _ _) := true
| (relative _ _) (explicit _) := false
| (relative r₁ n₁) (relative r₂ n₂) := r₁ < r₂ || (r₁ == r₂ && Name.quickLt n₁ n₂)
instance : HasToString ModuleName :=
⟨fun n => match n with
| explicit n => toString n
| relative r n => "".pushn '.' r ++ toString n⟩
end ModuleName
end Lean