O problema"
Defina uma função log
(ou outro nome de três letras) que, quando chamada, registrará / imprimirá / gravará (qualquer que seja o padrão para o idioma em questão), tanto a instrução (como fonte) quanto o primeiro argumento. Em outras palavras:
i=777
j=333
log(i) //outputs: "log(i) 777"
log(i+j+1) //outputs: "log(i+j+1) 1111"
Para todos os propósitos práticos, o resultado i: 777
seria suficiente, mas em algumas línguas existem bibliotecas de reflexão muito específicas para isso, e isso não seria um desafio, portanto, toda a instrução deve ser gerada.
Inspiração
A inspiração para isso foi eu e outro programador discutindo o quão irritante é que, muitas vezes (com depuradores ruins), você escreve coisas como console.log("i:", i)
, a seguir, criamos uma solução javascript (apenas louca) (somente nó) (ela gera, em i: 777
vez de toda a linha de fonte), que foi surpreendentemente longa e me lembrou o codegolfing e me fez pensar em quanto melhor as outras línguas (especialmente o golfe por código) se sairiam.
Bónus
-10% : Nenhuma leitura de arquivo (além do compilador)
PS. Esta é a minha primeira 'pergunta' aqui, portanto, sinta-se à vontade para apontar os erros que cometi.
help/on-topic
(é mencionado, mas não achei que valesse a pena verificar a maneira como foi descrita lá).