Parabéns a Dennis, que venceu o desafio dos policiais e dos ladrões! O Calvin's Hobbies já cumpriu sua promessa e escreveu esse desafio para Dennis por vencer o desafio dos ladrões.
Aviso: Este desafio está encerrado para obter mais respostas da polícia a partir de 01/09/2015 - 02:00:00 UTC. Quaisquer novas respostas postadas não serão elegíveis para ganhar e não serão contabilizadas para a pontuação dos ladrões se forem rachadas. No entanto, você ainda pode postar novas respostas para a diversão de outros usuários, para que ainda haja alguns quebra-cabeças disponíveis para futuros visitantes. Essas novas respostas estão incluídas na seção "Policiais vulneráveis" da tabela de classificação e o status de não concorrência é marcado separadamente.
Bem-vindo à edição Cops-and-Robbers do The Hello World Quiz ! (Se você nunca jogou o teste, sinta-se à vontade para testá-lo por um minuto ou 30. Você não precisa jogá-lo para este desafio.)
O desafio da polícia
- Escolha uma linguagem de programação. Os idiomas válidos devem ter um artigo da Wikipedia em inglês , um artigo da esolangs ou um artigo do Código Rosetta no momento em que este desafio foi publicado (observe que as listas vinculadas não estão necessariamente completas porque são selecionadas manualmente). Eles também devem satisfazer nossos padrões habituais para linguagens de programação , para que coisas como o HQ9 + sejam divulgadas. Por fim, deve haver um intérprete ou compilador gratuito (como na cerveja) disponível para o idioma (no momento em que esse desafio foi lançado).
Escreva um programa Hello World. Ou seja, escreva um programa completo no idioma escolhido que imprima
Hello, World!
(exatamente assim, ou seja, esse fluxo exato de bytes) e, opcionalmente, uma nova linha final à STDOUT ou alternativa mais próxima.Você não deve assumir um ambiente REPL, um código padrão existente ou sinalizadores não-padrão do compilador / intérprete. O programa deve estar no formato de um ou mais arquivos de origem (para descartar idiomas peculiares como pastas ) e deve caber na sua resposta na íntegra (para que não deva ter mais de 30.000 caracteres) - isso não deve ser um problema para qualquer envio sério.
Se o seu código contiver bytes fora do intervalo ASCII imprimível, inclua um dump pastebin ou hexadecimal para garantir que seu código seja realmente testável.
O programa deve terminar dentro de 1 minuto em um PC de mesa típico.
É isso aí. O problema é que você deseja ofuscar seu código de modo que não seja óbvio qual idioma você escolheu. Observe também que você não deseja que seu código seja acidentalmente um programa Hello World válido em qualquer outro idioma, embora eu espere que isso seja improvável para programas suficientemente ofuscados.
Em nenhuma circunstância, você não deve editar o código-fonte do seu envio uma vez publicado (pois isso pode invalidar as tentativas ativas de um ladrão de decifrar sua resposta). Portanto, certifique-se de jogar o melhor que puder (ou ousar) antes de postar. Se você perceber que sua resposta não funcionará após publicá-la, exclua-a e publique uma versão fixa, se desejar.
Se ninguém encontrar um idioma em que seu código seja válido por sete dias, você poderá revelar o idioma escolhido (idealmente com uma explicação para seu código ofuscado), o que tornará sua resposta segura . Observe que seu envio ainda pode estar quebrado até você revelar o idioma.
O menor envio seguro (em bytes) vence.
Formatação
(Pule esta seção e leia O Desafio dos Ladrões, se você não planeja participar como policial agora.)
Na parte inferior desta postagem, você encontrará um snippet de pilha que gera tabelas de classificação e uma lista de envios que ainda podem ser quebrados. Para que o snippet funcione, é importante incluir um determinado cabeçalho em sua resposta:
Novas respostas devem incluir um cabeçalho como
# ???, [N] bytes
onde
[N]
é o tamanho do seu código em bytes e???
deve aparecer literalmente.Se a resposta não for quebrada por 7 dias e você quiser torná-la segura, revelando o idioma, basta substituir o
???
, por exemplo# Ruby, [N] bytes
Sinta-se à vontade para ter o link do nome do idioma para um site relevante, como uma página esolangs ou um repositório do GitHub. O link será exibido no placar.
Se outro usuário violar seu envio com êxito (veja abaixo), adicione também o idioma, juntamente com um aviso como
# Ruby, [N] bytes, cracked by [user]
onde
[user]
é o nome do usuário que enviou o primeiro crack válido. Se o idioma usado no crack for diferente do que você pretendia, recomendo usar o palpite dos ladrões e mencionar na resposta que você pretendia que fosse outra coisa. Sinta-se à vontade para transformar o nome de usuário em um link para a página de perfil.
O desafio dos ladrões
- Encontre uma resposta vulnerável. Essa é uma resposta, que ainda não foi decifrada e que ainda não é segura .
Quebrá-lo, descobrindo sua linguagem. Ou seja, localize qualquer idioma em que o programa fornecido seja um programa Hello World válido (sujeito às regras descritas no The Cops 'Challenge acima). Não importa se esse é o idioma que o policial pretendia.
Se você encontrou esse idioma, deixe um comentário com o nome do idioma. Se possível, você deve incluir um link para um intérprete online, mostrando que o código realmente funciona nesse idioma, conforme necessário.
Todo usuário recebe apenas um palpite por resposta. Você não deve decifrar sua própria resposta (obviamente ...).
O usuário que obteve o maior número de respostas vence o desafio dos ladrões. Os laços são quebrados pela soma de bytes das respostas quebradas (mais é melhor).
Como o desafio dos ladrões é realizado exclusivamente em comentários, não haverá incentivo à reputação dos ladrões. No entanto, o Grão-Mestre da Escrita de Desafios, o Calvin's Hobbies , gentilmente se ofereceu para escrever um desafio sobre o usuário que vence o desafio dos ladrões!
Painel de Desafios
O snippet de pilha abaixo gera tabelas de classificação para policiais e ladrões e também lista todas as respostas que ainda podem ser decifradas. Deixe-me saber se algo parece não estar funcionando corretamente e tentarei corrigi-lo o mais rápido possível. Se você puder pensar em recursos adicionais que tornariam o painel mais útil, deixe um comentário também.
fonte
Respostas:
Despertar , 17 bytes
De acordo com o site oficial ,
Wake foi criado por shinh e pode ser testado em seu servidor de golfe Anarchy Golf .
O código consiste em uma única linha que contém um destino / rótulo e uma ação. Como a ação é uma string literal, ela é impressa em STDOUT.
O uso
"
para o destino serviu a dois propósitos:Ele fornece proteção poliglota.
Clip e impressão Foo
:
; GolfScript e CJam geram um erro de sintaxe devido a uma sequência inacabada.Ele fornece um pouco de incerteza sobre como o código deve funcionar.
fonte
":
seja um prefixo de linha válido e que trate uma string literal sozinha na linha real como um comando de saída. Ou 2: que é substituição de string e<foo>:<bar>
remove<foo>
de<bar>
. Ectoforte, da página do wiki da esolangs Forte, meio que satisfaz 1, mas o intérprete vinculado quebra com uma citação dupla no rótulo e não sei se isso conta como um idioma.TinyBF , 708 bytes, quebrado por kirbyfan64sos
Isso foi divertido louco. Todo mundo sabe que eu posso escrever apenas um idioma;)
Explicação
Primeiro de tudo, isso levou muitas horas para ser feito, então estou extremamente satisfeito com todas as reações positivas e tentativas de quebrá-lo!
Conforme observado nos comentários, quando compilado em C, o código é impresso
Gotcha!
seguido por uma nova linha, mas quando o TinyBF imprime o desejadoHello, World!
. TinyBF é um derivado simples de Brainf ** k que substitui seus comandos 8 com apenas 4:+ > | =
. Como todos os outros caracteres são ignorados, eu poderia escrever um programa C com muitos operadores desnecessários para tentar levar as pessoas na direção errada (o que, para minha surpresa, funcionou muito bem). Aqui está o código TinyBF puro:Aqui está o mesmo programa, escrito em BF comum:
Você pode usar esse intérprete para converter de BF para TinyBF e executar o código.
fonte
main()
. Poderia ser C? http://codepad.org/pj9mQgyQ (Como uma nota: Ele produzGotcha!
)I,c,o,d,e,C;i;main()
isso seria ignorado (além do;
mas não parece importante), e a grande quantidade!
usada para gerar caracteres ASCII pode ser um sinal de que é isso. Não consigo baixar o intérprete de Fission e conferir agora.mal , 658 bytes, quebrado por Sp3000
o mal é um velho esolang um pouco como o namorado. Os comandos são todos minúsculos e outros caracteres são ignorados.
Primeiro, eu criei um programa hello world curto no mal usando Python:
Então, novamente usando Python, eu o transformei em uma string base64:
Isso decodifica em letras minúsculas:
Adicionei algumas outras coisas à string base64 e a escrevi como o programa Python acima.
O shebang é realmente importante no programa. O
s
antes dob
insbin
pulará ob
comando. Em seguida, of
infortran
avançará até o próximom
caractere, que está na string base64.fonte
aeeeaeee...
são misturados com caracteres aleatórios, de forma que a sequência resultante seja uma sequência base64 válida. Eu escolhi os caracteres aleatórios de modo que a sequência resultante decodifique a base64 em letras minúsculas, mas a sequência decodificada é realmente irrelevante - é apenas uma distração. A única coisa que importa é que o mal executará a string base64, mas ignorará as letras maiúsculas e algumas minúsculas, pois não são comandos, deixando o programa hello world.Lua,
29202865 bytes, quebrada por jimmy23013Ontem eu só aprendi esse idioma, então perdoe qualquer erro de sintaxe.
Aviso: Imprime "Olá, mundo!" e sai com um erro
Explicação:
Em Lua, - [[significa comentário de múltiplas linhas, - significa comentário de uma linha e [[é uma sequência de múltiplas linhas.
Se você rolar todo o caminho para o lado na primeira linha, verá um p = [[. Isso está definindo uma sequência de várias linhas que vai de "Romeo, um jovem" até "Deixa]]", que a maioria das pessoas olha de relance, mas na verdade está finalizando a sequência de múltiplas linhas. Depois, temos print, que é a função print, e então "-" faz um comentário ao restante da linha. Precisamos colocar um pouco de espaço entre a impressão e o Hello World, para não revelarmos, para que tenhamos um comentário multilinha: "- [[Romeo está soluçando, enojado de sua vida) - Tu és tão pungente quanto o fedor de uma cabra Diga sua mente! [[Exeunt Romeo]] "O]] no final termina o comentário multilinha, e na linha seguinte é" Olá, mundo! " e o restante da linha é comentado por um -.
fonte
Hello, world!
, nãoHello, World!
.TRANSCRIPT , 39 bytes
Aqui está um simples e agradável.
Primeiro policial seguro! Estou surpreso que este tenha durado até o final - tentei escolher um idioma que seria difícil de pesquisar diretamente, mas que seria mais fácil de decifrar se você pudesse adivinhar o tema.
TRANSCRIPT é um esolang baseado em jogos de ficção interativos. Possui NPCs (strings) e objetos (inteiros). Aqui
End
está o nome de um NPC.A primeira linha declara o NPC com a sintaxe
<name> is here.
. A segunda linha então atribui ao NPC a string"Hello, World!"
e a terceira linha imprime a string usando oX / EXAMINE
comando Não há muito espaço para ofuscação aqui, então tudo o que fiz foi escolher algo que normalmente não é um nome para o NPC.Para provar que TRANSCRIPT é uma linguagem válida para esse desafio, aqui está um programa que verifica se um número natural de entrada é primo ou não:
Como observação lateral, eu fiquei realmente nervoso desde o palpite do @ aditsu, que foi muito próximo. O Inform 7 é um idioma para criar jogos de ficção interativos, que eu nem sabia que existiam.
Como homenagem à tentativa do aditsu, experimentei o Inform 7:
E aqui está uma amostra:
fonte
Headsecks , 637 bytes, quebrado por Dennis
Headsecks é uma codificação para BF via módulo de pontos de código 8. O programa acima, quando convertido, fornece
Há um monte de pares inúteis como
+-
ou<>
em lá, e tirando os que estão longe dáVocê pode notar que alguns loops têm
,
(entrada) neles - esses loops nunca são executados e servem apenas para adicionare
s a um programa que, de outra forma, teria suspeitosamente apenasa
s ei
s como suas únicas vogais.A sintaxe, os backticks, os estranhos
)
, etc., eram todos vermelhos.fonte
herrings are red
??? , 344 bytes, quebrado por jimmy23013
Aqui está um hexdump do arquivo:
Comecei com um programa Piet que imprime
Hello, world!
. A imagem em si continha algumas válidas ?? instruções (,,,!;
), mas não o suficiente para causar problemas.Os seguintes ??? O programa produz a saída desejada e termina com as instruções encontradas na imagem:
Para ocultá-lo na imagem, aumentei o número de cores na paleta global de 32 para 64 (isto é o que o byte 0x85 na primeira linha especifica) e substitui os primeiros 110 bytes das cores não utilizadas na paleta pelos 110 primeiros. bytes do ??? programa.
O resultado é o primeiro de todos os tempos Piet / ??? poliglota.
fonte
w
e sabendo Dennis provavelmente não seria tão fácil: P??? , 1052 bytes, decifrado por Alex A.
fonte
Treehugger , 284 bytes, quebrado por Sp3000
Este programa será executado em pelo menos 4 idiomas. No entanto, apenas um deles produz o resultado correto ...
Explicação:
Depois de remover todos os caracteres ignorados, você obtém o seguinte:
Retirar algumas combinações de caracteres não-op produz isso:
Que é essencialmente uma tradução do Brainf *** "Hello World!" mas com algum código extra (
<++++++++++++++++++++++++++++++++++++++++++++.^
) para adicionar na vírgula.fonte
HelloHelloHello
em Thue^
era significativa e, por algum motivo, não é categorizada como um derivado de BF.Estrelado , 3039 bytes, decifrado por Sp3000
Aqui está algo para você começar.
Primeiro, Starry ignora tudo, exceto espaços e
+*.,`'
. Então, vamos nos livrar de todo esse lixo:Agora, cada sequência de espaços seguida por um não-espaço é um comando. A semântica do comando é determinada pelo número de espaços e por qual espaço não é usado. Para começar, os backticks apenas criam rótulos para os quais nunca saltamos, para que possamos nos livrar deles:
Neste ponto, este é quase exatamente o exemplo do Hello World na página esolangs , exceto que eu tive que modificá-lo para obter uma letra maiúscula
W
.Então, para ofuscá-lo, adicionei os backticks pela primeira vez, porque eles não causaram nenhum problema (não consegui adicionar
,
ou'
porque são entradas e saltos, respectivamente). E então, acabei de adicionar caracteres aleatórios, exceto os reservados, de modo que a frequência de todos os caracteres não espaciais seja aproximadamente a mesma.fonte
Brainfuck , 2545 bytes, quebrado por Sp3000
Apenas por diversão.
fonte
Fissão , 67 bytes, quebrada pela BrainSteel
Aqui está outro, que deve ser um pouco mais simples.
fonte
R
no métodowrite
é capital de propósito?Q , 64 bytes, quebrado por Mauris
Explicação:
O KDB + possui seu próprio formato de protocolo de mensagem / serialização , que pode ser aplicado às seqüências de caracteres como:
Isso nos dá a longa cadeia hexadecimal acima. A conversão, se você ainda não adivinhou, é
-9!
.Para imprimi-lo
Hello, World!
exatamente, preciso usá-1
-lo. Um tanto irritante, o número em si também será impresso, então o;
caractere à direita é usado para suprimi-lo.( foi uma boa corrida por pouco mais de 2 dias! )
fonte
Logotipo , 14292 bytes, quebrado por Gareth McCaughan
Explicação:
make
atribui um valor a uma variável. Nesse caso,make 'clean
é apenas ofuscação, atribuindo uma lista entre colchetes a uma variávelclean
e depois não fazendo nada com ela.type char count
é usado para imprimir um caractere com base no número de itens dentro da lista entre colchetes a seguir.type
imprime um valor,char
retorna um caractere com base em um valor ASCII ecount
retorna o número de itens em uma lista. Por exemplotype char count [ a b c d e f g h i j ]
, imprimirá um caractere de nova linha (valor ASCII 10).Experimente online aqui (é necessário cortar e colar a fonte)
fonte
Hello, world!
. +1~ Inglês revisado , 36 bytes
Esta resposta contém proteção contra SPSS, Foo e Tiny. suspiros
Quatro tentativas e outra resposta no mesmo idioma , mas minha submissão está finalmente segura!
Explicação
~ Inglês foi projetado para se parecer com texto simples, e é provavelmente por isso que o segundo release acrescenta não 2, mas revisado ao nome do idioma.
Felizmente, existem apelidos das funções
Display
eStop
, que fazem com que o ~ English não pareça com o inglês.Desses aliases, eu escolhi
Echo
eEnd
, que - junto com a palavraand
- chave - faz com que o código-fonte se pareça com uma linguagem de script detalhada, em vez de um esolang.A sentença
cumprimenta o mundo e
interrompe a execução; portanto, a proteção Foo a seguir é simplesmente ignorada pelo intérprete.
Você pode baixar o intérprete oficial do GitHub (link na página Esolang).
fonte
Karma , 67 bytes
A primeira linha envia todos os caracteres para a pilha, usando a fila para salvar alguns bytes. A segunda linha aparece e imprime até 0, que é o primeiro caractere na linha 1.
fonte
gs2, 3 bytes, quebrado por feersum
Em
gs2
:e
ou\x65
estáproduct
em listas (como a lista vazia de caracteres representando STDIN), portanto, envia um int1
.|
ou\x7c
épower-of-2
, que o altera para 2 1 = 2.h
ou\x68
éhello
, que é um comando ridículo . A história é a seguinte: ao projetargs2
, decidi vencer todos os idiomas de código de golfe no servidor de shinh, mas tenhogoruby
um comando de ovo de páscoah
que é impressoHello, world!
(observe a letra minúscula w), permitindo que ela conquiste o primeiro lugar no mundo olá tabelas de classificação do desafio . Eu queria montar um goruby, então adicionei meu próprio comando easter eggh
que empurraHello, world!
a pilha, mas permite que você personalize a capitalização e a pontuação pressionando um número inteiro antes dele:Como você pode ver, olhando para a
s2 =
linha, se houver um número2
no topo da pilha, ele vai se substituído com a variação em maiúsculas-W:Hello, World!
.fonte
U+2062 INVISIBLE TIMES
caracteres invisíveis, mas não espaços em branco, de modo a limitar o tamanho da postagem a mais de 30 caracteres.maurisvh authored 5 days ago
que eu vou acho que de qualquer maneira.)> <>, 353 bytes, rachado pelo Sp3000
Conforme descoberto pelo Sp3000, este é um programa> <>. Todos os espaços em branco e caracteres não utilizados foram substituídos por. caractere para facilitar a leitura.
fonte
MarioLANG , 549 bytes, decifrado por Sp3000
Eu realmente gostei desse. Aqui está uma rápida visão geral de como eu criei o código:
Comecei no Brainfuck "Hello World!" em esolangs:
Eu tive que modificá-lo um pouco para adicionar a vírgula, mas vamos ignorar os detalhes ...
O BF pode ser convertido em ML facilmente: mude
>
e<
para)
e(
respectivamente. Adicione um piso principal abaixo do programa. Em seguida, implemente loops através de pisos e elevadores auxiliares. Isso transforma o programa acima em:Este é um trabalho "Olá Mundo!" programa no MarioLANG. (Este código corresponde ao "Hello World!" Incorreto nos esolangs, não ao código ML ofuscado acima.)
Nesse ponto, podemos jogar um pouco o código, na verdade, movendo parte do código do loop para o piso auxiliar. Agora estou mudando para o código real desta resposta:
E agora a verdadeira ofuscação: imaginei
=
que seria uma oferta inoperante para o Sp3000 que conhecia o idioma (ele o havia usado no Evolution of OEIS). Mas o MarioLANG também tem "paredes" em vez de "pisos", representados por|
. Porém, eles são funcionalmente idênticos, então usei o caractere menos comum. Eu também imaginei que o chão pendente pareceria suspeito, então coloquei as duas linhas com outros personagens. Para uma boa medida, adicionei a primeira linha novamente ao final e fiz do preenchimento na linha do meio os caracteres opostos da primeira linha. Também adicionei colchetes correspondentes (que são ignorados pelo MarioLANG), porque achei que um inigualável[
poderia ser outra dica forte. Por fim, escrevi um script CJam para polvilhar exatamente 13=
em posições aleatórias do piso (13, porque isso 'Hello, World!
) e alterou os caracteres de preenchimento na quarta linha paraHelo, Wrd!
parecer que estou lendo os caracteres do código-fonte, como uma resposta do Befunge. Voilà, ofuscou MarioLANG! :)fonte
ULDR
para iniciar qualquer fluxo de controle. Então não. ;)DESBABTIZADO , 77 bytes
Verificação
Você pode encontrar o site oficial e intérprete aqui .
Conforme observado no site, o intérprete foi escrito para o Python 2.2, que permitia caracteres não ASCII no código-fonte. Você pode baixar Python 2.2.3 1 ou corrigi-lo no Python 2.7, inserindo a seguinte linha no início do intérprete:
Como funciona
Primeiro, o espaço em branco não deve ser permitido no código-fonte de acordo com o site, mas o espaço em branco após uma instrução completa parece não causar problemas.
O comando
$0,0
executadomemory[0] = memory[0] == memory[0]
, o que não ajuda em nada a saudar o mundo. Eu adicionei este comando apenas para distrair o fato de que.
atua como um separador de instruções.O restante do código é composto por treze
:x
comandos, que gravam o caractere com o ponto de código x em STDOUT.Uma versão não ofuscada do código fonte ficaria assim:
1 A compilação do Python 2.2.3 ocorreu surpreendentemente sem intercorrências no openSUSE 13.2.
make
,make install
e o executável resultante imprimiu muitos avisos, mas UNBABTIZED funcionou como planejado.fonte
FUEUE: UNKNOWN , OP
14 vezesHHeelllloo,, WWoorrlldd!!
, sem sair do programa.$
inicia um literal Python, resultando em um erro de sintaxe.Subleq superior , 52 bytes, quebrado por John WH Smith
Isso realmente não se parece com um esolang, mas nenhum derivado C sano seria implementado
puts
sem uma nova linha implícita.fonte
Mascarpone, 30 bytes, quebrado pelo Sp3000
Baseado em pilha? Talvez...
[!dlroW ,olleH]
envia todos esses caracteres para a pilha (sim, incluindo os delimitadores);$
aparece o]
; e então o.
cada um imprime um caractere. O programa sai com um[
caractere ainda na pilha.Eu teria feito a saída usar um loop, mas não consigo descobrir como eles funcionam ...
fonte
$
estala o]
que por algum motivo é empurradoTurbilhão , 12302 bytes, quebrado por Artyom
O giro ignora tudo, exceto 1 e 0. Também modifiquei outros dígitos aleatoriamente, mas eles não são relevantes. Quando você mantém apenas 1 e 0, você recebe um "Olá, mundo!" exemplo :)
fonte
GNU bc, 36 bytes
Um Foo versão imune a da minha tentativa anterior .
Isso requer a versão GNU (ou qualquer outra versão que possua a
print
função) do bc. A primeira linha é para ofuscação: as variáveis bc não precisam ser declaradas e são inicializadas com0
, portanto, temos uma atribuição inútil, mas com uma sintaxe válida. A segunda linha simplesmente imprimeHello, World!
.fonte
module
oupackage
palavra-chave, então acho que não será compilado. Talvez funcione no REPL, mas isso não é permitido.main = do:
).Chef, 1943 bytes, decifrado por Angew
fonte
APL, 39 bytes, quebrado por Mauris
Eficiência é tudo.
Isso funciona na demonstração ngn-apl .
Ofuscar o APL não é tarefa fácil se a intenção é fazer com que pareça menos com o APL.
Isto é o que eu consegui:
Aspas duplas não funcionam em todos os dialetos. Dyalog, por exemplo, não os suporta.
ngn / apl é o único dialeto que conheço que usa indexação baseada em zero por padrão.
As vírgulas não deveriam estar lá.
Os elementos vetoriais geralmente são separados por espaços ao escrever APL. No entanto,
,
concatena , portanto o código dentro dos colchetes concatena 13 singletons.Uma versão do código (ligeiramente) não ofuscada e mais portátil pareceria
que funciona no TryAPL , GNU APL.js e na demonstração ngn / apl .
fonte
ngn-apl
, pelo menos)Mouse , 105 bytes
Você pode obter um intérprete para o Mouse escrito em C aqui .
O mouse usa notação polonesa reversa, para que os operadores sigam operandos. (Pense no Lisp ao contrário.) A atribuição de variável é realizada usando
<variable>:
e recuperando o valor de uma variável é feita como<variable>.
. Todos os valores no Mouse são inteiros.!
gera um número inteiro e!'
gera o caractere ASCII associado ao número inteiro. Toda a saída vai para STDOUT.Por qualquer motivo, todos os programas válidos devem terminar com
$
.fonte
Haskell , 637 bytes
Vídeo de desofuscação
fonte
Wordfuck , 1063 bytes, quebrado por Martin Büttner
Observe que as terminações de linha devem ser no estilo Unix.
fonte
Wordy , 3279 bytes
Como sugeri nos comentários, este palheiro é principalmente agulha.
Podemos cumprimentar o mundo executando as seguintes instruções:
Wordy codifica todas as instruções como sentenças, onde a fração de palavras que são maiores e menores que a média arredondada seleciona o comando.
As frases mais curtas que encontrei para as instruções usadas são:
Mas como esconder o fato de que o comprimento da palavra é a única coisa importante no código-fonte?
Nem a ordem das palavras nem os caracteres selecionados são importantes, desde que alfanuméricos, por isso decidi adicionar caracteres não alfanuméricos aleatórios a cada palavra para preencher todos eles do mesmo comprimento. Também adicionei algumas não-palavras (sem caracteres alfanuméricos) para dar ao código-fonte sua agradável forma retangular.
Eu gerei o código fonte final usando este programa CJam .
fonte