diff --git a/src/lake/Lake/Build/Data.lean b/src/lake/Lake/Build/Data.lean index d376804d47a8..799f105e23bc 100644 --- a/src/lake/Lake/Build/Data.lean +++ b/src/lake/Lake/Build/Data.lean @@ -112,7 +112,7 @@ scoped macro (name := libraryDataDecl) doc?:optional(Parser.Command.docComment) "library_data " id:ident " : " ty:term : command => do let dty := mkCIdentFrom (← getRef) ``TargetData let key := Name.quoteFrom id id.getId - let id := mkIdentFrom id <| id.getId.modifyBase (`leanLib ++ ·) + let id := mkIdentFrom id (canonical := true) <| id.getId.modifyBase (`leanLib ++ ·) `($[$doc?]? family_def $id : $dty (`leanLib ++ $key) := $ty) /-- Macro for declaring new `TargetData`. -/ diff --git a/src/lake/Lake/Util/Family.lean b/src/lake/Lake/Util/Family.lean index 07926f0939db..8fab36261ac7 100644 --- a/src/lake/Lake/Util/Family.lean +++ b/src/lake/Lake/Util/Family.lean @@ -171,7 +171,7 @@ scoped macro (name := familyDef) doc?:optional(Parser.Command.docComment) let tid := extractMacroScopes fam.getId |>.name if let (tid, _) :: _ ← Macro.resolveGlobalName tid then let app := Syntax.mkApp fam #[key] - let axm := mkIdentFrom fam <| `_root_ ++ tid ++ id.getId + let axm := mkIdentFrom id (canonical := true) <| `_root_ ++ tid ++ id.getId `($[$doc?]? @[simp] axiom $axm : $app = $ty instance : FamilyDef $fam $key $ty := ⟨$axm⟩) else diff --git a/src/lake/Lake/Util/Name.lean b/src/lake/Lake/Util/Name.lean index 437be1dcc166..ad8f43387814 100644 --- a/src/lake/Lake/Util/Name.lean +++ b/src/lake/Lake/Util/Name.lean @@ -90,7 +90,5 @@ instance : LawfulCmpEq Name Name.quickCmp where open Syntax -def quoteFrom (ref : Syntax) : Name → Term -| .anonymous => mkCIdentFrom ref ``anonymous -| .str p s => mkApp (mkCIdentFrom ref ``mkStr) #[quoteFrom ref p, quote s] -| .num p v => mkApp (mkCIdentFrom ref ``mkNum) #[quoteFrom ref p, quote v] +def quoteFrom (ref : Syntax) (n : Name) : Term := + ⟨copyHeadTailInfoFrom (quote n : Term) ref⟩