Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.
This repository was archived by the owner on Nov 25, 2025. It is now read-only.

Dialect conversion #19

@westonpace

Description

@westonpace

Most producers and consumers today ignore the idea of function options. Instead, most consumers implicitly have certain expected behaviors. For example, when adding numbers, datafusion will always return an error on overflow. The BFT project aims to capture these differences. We could use the dialect files from BFT to create a module that does the following:

Given an input expression that may or may not have options specified generate a more accurate expression for a given dialect by filling in the function options. For example, given an expression with a bare "add" function and the "datafusion" dialect generate an expression where the "add" function has the overflow option set to error.

And also

Given an input expression that has options specified and a target dialect, identify the ways in which the expression will not conform to that dialect. For example, given an expression with an "add" function whose overflow is set to "saturate" and a target dialect of "datafusion", generate an error reporting that the function would not run as expected because of that add function.

These tools provide the foundations for a user-guided dialect conversion process. First, bind some input expression to their source dialect. Then detect the differences between the source dialect and the destination dialect. Then, allow the human user to either ignore those differences or come up with some kind of alternative.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions