O IronJS é uma implementação do ECMAScript 3.0 sobre o DLR (Dynamic Language Runtime). Em entrevista recente concedida ao i-programmer, o criador do IronJS, Fredrik Holmström, comenta os detalhes da implementação de uma linguagem sobre o DLR do .Net. Um detalhe enfatizado por Fredrik é a quantidade de trabalho que se reduz com o uso do runtime:
O DLR oferece muitos benefícios, sem custos, como a interoperabilidade com linguagens, além da confiabilidade no código do próprio DLR. Grande parte do problema tecnológico é resolvida devido à geração do IL (Intermediate Language).
Fredrik aponta duas formas de se utilizar o DLR - por meio do uso de binders associados - ou por intermédio do DLR, como gerador de linguagem intermediária e ferramenta de compilação, fazendo-se o próprio binding. Como a primeira opção é mais lenta, o IronJS usa a segunda. O efeito colateral de se fazer as próprias associações, porém, é a perda de interoperabilidade com outras linguagens que rodam sobre o DLR.
O parser do IronJS é atualmente escrito em F#, com o runtime principal escrito em C#. Fredrik planeja substituir todo o código escrito em F# por C#, com o intuito de aumentar ainda mais a velocidade do IronJS. No entanto, em entrevista a Scott Hanselmann, Fredrik declara que mais cedo ou mais tarde o IronJS chegará ao limite de desempenho, por ser implementado sobre o CLR (Common Language Runtime) - isso se comparado a soluções como o V8, escrito em código nativo.
Caso deseje implementar sua própria linguagem sobre o DLR, um bom lugar para começar é a documentação. Pode-se também estudar o código-fonte de uma das linguagens "Iron", como IronPython ou IronRuby.