O desafio é escrever um programa capaz de gerar o código nativo para uma função “int foo () { return 10; }” e executá-lo. Parece impossível, mas não é. E com um pouco de esforço não deve consumir muito tempo também. Para isso vamos precisar saber algumas coisas antes.
Primeiro, é necessário saber um pouco de [...]
Escrevendo um JIT em menos de 40 linhas de C#
August 30th, 2010 · 3 Comments
Tags: Programming
Implementando Haskell em VMs tradicionais (parte 1)
September 10th, 2009 · 2 Comments
Outro dia uma discussão me levou a pensar se era possível implementar Haskell em cima de uma VM tradicional, tal qual JVM ou CLR, de forma eficiente. Em termos dos mecanismos que a VM precisa suportar de forma eficiente os principais são tail call, thunking, type classes e algebraic types. Nesse artigo vou apenas discutir [...]
Tags: java · language design · mono
Ode ao C
January 12th, 2009 · 5 Comments
A parte que mais odeio no C é ser minha melhor opção. Sim, sério, para aquilo que faço hoje em dia, realmente não existe linguagem melhor. E isso de deixa maluco pois se trata de uma linguagem anacrônica, cheia de problemas enormes que aparentemente toda comunidade de PLR esqueceu de tentar resolver.
Para quem já programou [...]
Tags: Programming · anger management · language design