I came across the SOIL-initiative which aims to create a Single Open Intermediate Language. I believe perhaps if there is a collaboration with this initiative it might be of mutual benefit for this project also. This can help further research in IR, optimisation of IR, better targeting of web and other platforms, inter-language operability, etc.
Crystal is a LLVM frontend, as such it already emits LLVM IR. How is this different to LLVM IR? Shouldn’t this be as easy as having a LLVM IR to SOIL transpiler, or in other words a LLVM backend for SOIL, and thus not really require any real changes from Crystal?