Roslyn, LLILC and WebAssembly?
Given Joe Duffy’s blog is so quite these days, its time to speculate.
Roslyn provides frontend support, whilst LLILC (via LLVM) provides backend support:
Roslyn exposes the data structures of a frontend – so it’s ideal for building tools such as IDEs, with syntax coloring, warning squiggles, use/definition lookup, refactoring, etc; or translators that convert C# to some other language; or pretty-print formatters; or analyzers that check conformance with coding guidelines (think FxCop).
LLILC, via LLVM, exposes the data structures of a backend – so it’s ideal for building tools that inject extra code (eg: performance profiler, code tracer, debugger, parallelism analyzer, race detector); or super-optimizing code (eg: auto-vectorizer, auto-parallelizer); or test-case reduction.
Further, Brendan Eich’s recent interview on WebAssembly provides us with this:
Microsoft has their own compiler so they’ll be doing wasm from a different compiler framework, but that’s great.
Given the LLILC work, it would be logically to leverage the LLVM to generate wasm