Skip to content

Managed compilation

Dmitry Ponyatov edited this page Jul 16, 2019 · 2 revisions

Managed compilation

JIT or cross-compiler looks more affordable in the form of ordinary library embedded into your EDS system. As an example, LLVM calls and types can be wrapped into frame structures, and be available for manual and automated manipulations.

When you want to implement some data crunching procedure, you don’t program it in terms of your EDS types. In place, you call compiler library, and manually build your program structure in memory using SSA and storage definition objects, and call optimizing compiler stages at the end.

This method is powerful but requires some compiler design knowledge from you, and a lot of low-level coding. So it is better to use source code generation in resource-effective languages which have production compilers like C++ and Java. Generative metaprogramming is better as you stay compatible with your teammates, and employers -- you produce code in mainstream approved languages, not forcing others to pray on your black magic of EDS.

The difference between frames and EDS

Clone this wiki locally