Julia .NET Interop Library

I had created a long time ago a Julia .NET Interop Library. The goal of this library is to intuitively integrate .NET into Julia and be able to launch and utilize both languages from the other.

Recently, I have begun a side project of trying to create a julia runtime written in .NET and I was reminded of this project. I realized that I would be able to harness some of the capabilities of my primitive runtime project to build a much more mature and powerful interop library. This is beneficial to both projects as I able to see ways to mimic julia capabilities from .NET.

I am currently redesigning this interop library from the ground up and I wanted to bring this to the community to get advice about ways to enhance this library.

Components of the new Library:
Sharp Core: Launch and provide the framework to connect to Julia. (All code that interacts with julia passes through this library)

Sharp Dynamics: Provides Julian Dynamic Capabilities to .NET through dynamic objects. For dynamic code, this library will act as the intuitive way to call into julia.

Sharp Statics: Creates .NET static libraries of Julia modules that enable you to call into Julia "statically" and optimized to be as efficient as possible (there should be little to no boxing, mostly working with native methods).

Sharp Stdlib: Provides the primitive framework of the Julia Stdlib that cannot be generated by Sharp Statics.

This is quite an in depth project and I wanted to share it with the community to see if anyone would be interested in contributing to this project!

7 Likes