Hey Jared, Nice proposal!
I am mostly interested in using the node system across C ABI. First, I would love to understand: 1) how member methods could be generated, and 2) their usability across C ABIs. If we wrap up data fields of generated nodes in pure C, and if packed functions' global registry can be used across C ABI (not now), we could have a systematic way to wrap the methods up 1) For virtual methods, we may leave a field in the pure C struct, like what [DLPack](https://github.com/dmlc/dlpack/blob/master/include/dlpack/dlpack.h#L168) did. 2) For non-virtual methods, we should somehow register them as packed functions. We can design our own name mangling mechanism. Like what tvm ndarray did to dlpack tensors, we are then able to generate a thin wrapper in C++. Second, basic data structures are still in C++, for example, tvm::Array, tvm::Map, and std::string. Maybe this would be an opportunity to rewrite them in C. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/dmlc/tvm/issues/3501#issuecomment-508954136