daphne-project/daphne

Constant folding for cast from number to string

Aperta

#931 aperta il 6 dic 2024

 (1 commento) (0 reazioni) (0 assegnatari)C++ (84 fork)auto 404
good first issue

Metriche repository

Star
 (80 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

The DAPHNE compiler can evaluate various operations on constant scalars at compile-time. The respective constant folding implementations can be found in src/ir/daphneir/Fold.cpp. While casts of scalars between various value types can already be folded (see mlir::OpFoldResult mlir::daphne::CastOp::fold(FoldAdaptor adaptor)), casts from numbers to strings are not folded yet. Folding such casts would be useful as it would allow DaphneDSL users to do things like:

X = readMatrix("path/to/file/dataset_" + 123 + ".csv";

Which is currently not possible as the file name cannot be resolved at compile-time.

Guida contributor