On 11/18/2015 06:45 PM, Nelson, Erik - 2 wrote:
Andy Jost wrote on Tuesday, November 17, 2015 12:35 PM
Is there interest in an LLVM library? My motivation is to simplify the dynamic creation of functions, modules, and programs by defining an EDSL modeled after the C language. LLVM provides an API based exclusively on function calls that is verbose and difficult to use. The EDSL is more expressive and easier to use. (This may remind some people of Boost.Python and indeed these libraries are similar in motivation.) If this can be used to (reasonably) easily make runtime JITed functions callable from the running executable it would be very useful.
I wholeheartedly agree with this. I see the example you linked showing how to take a program built with the proposed library and JIT it for use in the running application. That's pretty nice as-is, but it would be even better if the JIT API was abstracted further, streamlining the process of creating a function, compiling it, then running it later in the application. While that is obviously possible today using LLVM's API, I feel like a simplified interface, similar to what you've already done, would go a long way to make it more accessible for users. Jason