As Cairo currently stands it has no notion of cross-module linkage. In the initial phases, we need a method to include the relevant (minimum set) of polyfills into our translation unit, and we call this pseudo-linkage.
This will likely initially function simply by copying the FlatLowered objects into our LLVM-sourced compilation unit, but the mechanism needs to be architected in such a way that it can be extended in the future.
Description
As Cairo currently stands it has no notion of cross-module linkage. In the initial phases, we need a method to include the relevant (minimum set) of polyfills into our translation unit, and we call this pseudo-linkage.
This will likely initially function simply by copying the
FlatLowered
objects into our LLVM-sourced compilation unit, but the mechanism needs to be architected in such a way that it can be extended in the future.