equal
deleted
inserted
replaced
1730 val extern_oracles = map #1 o NameSpace.extern_table o Oracles.get; |
1730 val extern_oracles = map #1 o NameSpace.extern_table o Oracles.get; |
1731 |
1731 |
1732 fun add_oracle (bname, oracle) thy = |
1732 fun add_oracle (bname, oracle) thy = |
1733 let |
1733 let |
1734 val naming = Sign.naming_of thy; |
1734 val naming = Sign.naming_of thy; |
1735 val name = NameSpace.full naming bname; |
1735 val name = NameSpace.full_name naming (Binding.name bname); |
1736 val thy' = thy |> Oracles.map (fn (space, tab) => |
1736 val thy' = thy |> Oracles.map (fn (space, tab) => |
1737 (NameSpace.declare naming name space, |
1737 (NameSpace.declare_base naming name space, |
1738 Symtab.update_new (name, stamp ()) tab handle Symtab.DUP dup => err_dup_ora dup)); |
1738 Symtab.update_new (name, stamp ()) tab handle Symtab.DUP dup => err_dup_ora dup)); |
1739 in ((name, invoke_oracle (Theory.check_thy thy') name oracle), thy') end; |
1739 in ((name, invoke_oracle (Theory.check_thy thy') name oracle), thy') end; |
1740 |
1740 |
1741 end; |
1741 end; |
1742 |
1742 |