Desafio Hack’n Roll #1
Estava conversando no IRC (sim, ainda existe IRC) com Pedro Mendes (pedro3005), quando ele me disse que havia feito um código em Haskell que recebia um texto como parâmetros e retornava um código Brainfuck que imprimia esse texto. Quando ele me explicou a idéia do código e mostrou um exemplo de saída, percebi que existem diversas maneiras de otimiza-lo. Foi quando pensei em lançar este desafio.
O desafio consiste em escrever um código que receba uma palavra (ou texto) qualquer que gere um código brainfuck que imprima esse texto. As soluções devem ser postadas como comentários e uma solução consiste na idéia por trás do código, no link para o código em http://hacknroll.pastebin.com/ e o código brainfuck que imprima o texto Hack’n Roll. Lembrem-se de colocar o pastebin para nunca expirar, além de especificar corretamente a linguagem, nome e título.
Qualquer coisa podemos bater um papo no IRC:
- Servidor: irc.freenode.net
- Canais: #c4ll ##unix-br #reset
Bom desafio a todos e tenham um ótimo Hack’n Roll.
Estou usando esse desafio para treinar meu Haskell. Essa é minha solução inicial, que precisa ser melhorada substancialmente.
http://paste.pocoo.org/show/305556/
Para avaliar os códigos, proponho o uso da medida de quantos caracteres cada programa precisa para expressar a string “Hello, world!” (exatamente como foi digitada). O meu programa leva 394, o que é muito grande.
@pedro3005
O código não ficou lá muito bonito (está horrível), mas produz um “Hello, world!” com 214 caracteres. Melhoria de 45% (se minhas contas estão corretas)
http://paste.pocoo.org/show/305575/