Você deve concluir quatro tarefas em um idioma que:
- não deve retornar resultados * quando pesquisado neste site (codegolf.se), por exemplo, ToffeeScript ;
- deve ter uma página listada em Esolang , Rosetta Code ou Wikipedia ;
- ser uma linguagem distinta, e não uma versão distinta (por exemplo, o python 2.1 seria válido se o python satisfizesse os dois primeiros critérios).
* A exceção é esse acerto para o ToffeeScript.
As quatro tarefas que você deve concluir são:
1) Escreva uma descrição / promoção tweetable (<140 caracteres) do idioma escolhido.
2) Imprimir "Olá, mundo! Está escrito em <programming language name>
."
3) Imprima todos os números ímpares em um intervalo especificado pelo usuário. (por exemplo, um stdin de 20 25
deve retornar 21 23 25
).
4) Escreva um programa que você sinta melhor, demonstrando uma característica interessante do idioma escolhido.
Pontuação:
- Este é um concurso de popularidade
- Bônus de 10 pontos se listado em dois dos diretórios acima, 25 se nos três.
- Pontuação é a soma dos votos recebidos à meia-noite UTC de 1º de julho de 2015, mais os bônus.
Esclarecimentos:
- A tarefa 1) pode ser um programa tweetável, mas o texto simples também é aceitável.
- Muitos idiomas não têm um intérprete existente; soluções para essas questões são boas, mas serão tomadas de boa fé.
- O segundo critério para a escolha do idioma proíbe as páginas cuja criação data após esta postagem. Se, para um determinado idioma, X, existe uma solução para um problema no Código Rosetta, mas ele não possui uma página própria em algum lugar, ainda é aceitável.
popularity-contest
Kieran Hunt
fonte
fonte
and/or
;)Respostas:
BlooP
Bônus: 10
Existem páginas para BlooP em Esolangs e Wikipedia . Uma pesquisa PPCG para BlooP não retorna resultados. Se você estiver sentindo particularmente maluco, você pode experimentá-lo em repl.it .
Tarefa 1: O Tweet
Ele usa o estilo padrão do Twitter, incluindo hashtags e emoticons. Isso agradaria qualquer usuário do Twitter. *
Tarefa 2: O Olá Mundo
Como você pode ver, essa é uma linguagem excelente para o golfe. *
Tarefa 3: Os números ímpares
Os únicos operadores disponíveis no BlooP são atribuição (
<=
), adição, multiplicação, maior que, menor que e igual. Por causa de sua sintaxe dolorosamente detalhada, é realmente fácil dizer o que está acontecendo, mesmo sem uma compreensão profunda do idioma.Tarefa 4: O Interessante
Nota: Meu snippet para esta tarefa está sujeito a alterações, se surgir algo mais interessante.
Eis os números de Fibonacci.
* Pode não ser verdade
fonte
Mond *
Experimente no seu navegador
Divulgação completa : Estou envolvido com o processo de desenvolvimento e design da Mond até certo ponto e implementei pessoalmente vários recursos de linguagem importantes, incluindo operadores definidos pelo usuário, demonstrados nas tarefas 3 e 4.
Tarefa nº 1
O operador de pipeline (
|>
) é um açúcar de sintaxe que transforma a chamada de função no lado direito em uma chamada de função com o valor no lado esquerdo inserido como o primeiro argumento.foo |> bar()
é o mesmo quebar( foo )
.Tarefa 2
Tarefa nº 3
O código para esta tarefa assume várias coisas:
0-9
Experimente aqui
Tarefa # 4
Esta tarefa demonstra operadores definidos pelo usuário , que permitem ao programador definir qualquer operador arbitrário (desde que ele ainda não exista) apenas como uma função e usá-lo como faria com qualquer outro operador. Eles vêm em sabores unários e binários.
Experimente aqui .
fonte
jq
Nenhum dos 14 resultados no codegolf.se é sobre o idioma. (
jq
(e variantes em maiúsculas) parece ser uma declaração frequente em Pyth.)Existe uma categoria jq no código Rosetta .
Você pode experimentá-lo online, mas alguns dos exemplos abaixo precisam da versão mais recente 1.5.
Tarefa 1: O Tweet
(Desavergonhadamente, twittou o primeiro parágrafo de seu site.)
Tarefa 2: O Olá Mundo
Tarefa 3: Os números ímpares
Tarefa 4: O Interessante
O arquivo ~ / .mozilla / firefox / *. Default / extensions.json que contém informações sobre as extensões instaladas do Firefox possui 0 novas linhas em 171 Kb nos dados JSON, o que dificulta a leitura.
Bonita imprimir os dados JSON:
Doh. As linhas 8000 ++ são muito longas, portanto, passe para o pager, mas mantenha o destaque:
Ai. Quantas extensões existem?
Ok, mas alguns deles estão desativados. Quantos exatamente?
Alguns deles são bastante abandonados e não funcionam mais com o Firefox atual:
(Isso depois não é verdade. Por algum motivo, extensions.json contém outros intervalos de versão que não o install.rdf das extensões. Mas, de qualquer forma, isso não é culpa do jq.)
fonte
ooc
Sim, estou com um mês de atraso. E daí???
Tarefa 1
135 bytes! Essa foi por pouco!
Além disso, pontos de bônus falsos para o insanamente legal logotipo ASCII-art da ooc :
Tarefa 2
Tarefa 3
Implementação bastante direta. Além disso, isso mostra um aspecto interessante do ooc: chamadas de método usam espaços como delimitadores, não pontos. Por exemplo, observe
stdin readLine() split(' ', false)
acima. Na maioria dos idiomas, isso seria escrito comostdin.readLine().split(' ', false)
, mas ooc reserva isso para o encadeamento de chamadas (role para baixo até o exemplo de código).Tarefa 3
Isso mostra meu recurso ooc favorito: correspondência de tipo. É como a correspondência de padrões. Em um idioma OO. Impressionante.
fonte