TableML status

Hi,

I've been working on TableML some more and I thought I would see about how I should work on getting it into the tree, since it's nearing a usable state.

So far I have a (mostly) working interpreter for a subset of Standard ML. After interpreting a set of definitions, the interpreter passes the resulting values off to a backend for serialization. The idea, for those who didn't see my previous email, is to replace TableGen for use cases that require more expressiveness. In particular, I was envisioning using it in llvmc2 to express compiler driver logic.

Currently the TableML source is about 4000 lines, which I'm aware is already too big for a patch. I didn't want to send something that didn't actually do anything for inclusion in the tree, though, and this is about the minimal size that could actually be useful. If anyone has suggestions about how to proceed or comments on TableML in general, I'd be glad to hear them.

Patrick

Hi,

I've been working on TableML some more and I thought I would see about
how I should work on getting it into the tree, since it's nearing a
usable state.

Hi Patrick,

Sorry for not responding earlier. I have a couple of high level questions about this work. First, is the goal to just generalize and strengthen the language that is input to tblgen? If so, what application are you primarily interested in (for example, the code generator, llvmc, etc)?

So far I have a (mostly) working interpreter for a subset of Standard
ML. After interpreting a set of definitions, the interpreter passes the
resulting values off to a backend for serialization. The idea, for those
who didn't see my previous email, is to replace TableGen for use cases
that require more expressiveness. In particular, I was envisioning using
it in llvmc2 to express compiler driver logic.

I'd really rather not make a new front-end for tblgen. IF you're interested in making tblgen more expressive (which is great!) I'd really rather either a) improve tblgen, or b) replace it. Adding another system that is only used in some cases makes it more difficult to get to know LLVM because you have to learn multiple different systems.

-Chris