JuliaSymbolics/TermInterface.jl

Relationship to SymbolicUtils etc

Closed this issue · 3 comments

Hi,

Documentation for this package says,

Its purpose is to provide a shared interface between various symbolic programming Julia packages, for example SymbolicUtils.jl, Symbolics.jl and Metatheory.jl.

But SymbolicUtils doesn't depend on it, and in fact seems incompatible:

julia> using SymbolicUtils; import TermInterface

julia> @syms x::Int
(x,)

julia> TermInterface.exprhead(x + 1)
ERROR: MethodError: no method matching exprhead(::SymbolicUtils.BasicSymbolic{Int64})

Closest candidates are:
  exprhead(::Expr)
   @ TermInterface ~/.julia/packages/TermInterface/6hcD2/src/expr.jl:5

Stacktrace:
 [1] top-level scope
   @ REPL[2]:1

Digging into this, I came across JuliaSymbolics/SymbolicUtils.jl#505 from a few months ago.

Given this, what is the current and planned relationship of this package to the rest of the ecosystem? Will it be deprecated? If we want to program to an interface to make it easy to use tools from the JuliaSymbolics ecosystem, what's now the "right" way to do that?

It basically got deprecated. @shashi can comment on his future plans.

@cscherrer latest deployed version will be re-integrated with Metatheory.jl (already is on this branch) and likely with SymbolicUtils and dependants

Terminterface dependency is merged back in.