Targeting other languages to CoreCLR?


I am looking for documentation, how-tos, guides on how to target a new language to CoreCLR along the same lines as Eclipse OMR or GraalVM/Truffle is enabling the same.

My first thoughts were to look into the Pyjion and/or F# projects, but that seems to start from the wrong end. They will be quite useful at some point down the line, but was hoping for a more high level documentation, code samples, etc.


Not exactly what I was looking for but lots of great information!

A Hitchhikers Guide to the CoreCLR Source Code:

And, The Book of the Runtime:


If you’re talking about how to create a compiler backend that compiles to IL, then what you need is a library that can read (for references) and write IL, like System.Reflection.Metadata or Mono.Cecil. Though maybe you prefer a more obscure one.

If you’re talking about how to integrate a working compiler into .Net Core tooling, I think the right place to start is to look at the .Net Core SDK. dotnet build internally calls MSBuild and MSBuild uses build tasks from the SDK to know how to compile the code. I think that when MSBuild Extension support for .NET Core is completed, it will make working with custom SDKs much easier.

In any case, this forum is not very active. If you have more specific questions (and want answers from people more knowledgeable than me :slight_smile:), you should ask on the appropriate GitHub repo. Here is a list of .Net Core repos that might be of interest.

.NET Foundation Website | Blog | Projects | Code of Conduct