Crumb é a mais recente linguagem de programação de código aberto e, após seu lançamento, causou ampla discussão na seção de programação do Reddit .
Como o título diz, Crumb é uma linguagem de programação funcional, e não existem "palavras-chave", tudo é uma função (0 palavras-chave, tudo é uma função.). Outros recursos incluem fornecimento de coleta de lixo (GC), digitação dinâmica, sintaxe concisa e uma biblioteca padrão detalhada.
Código de amostra
table = (map (range 10) {_ y ->
<- (map (range 10) {item x ->
<- (multiply (add x 1) (add y 1))
})
})
(loop 100 {i ->
i = (add i 1)
(if (is (remainder i 15) 0) {
(print "fizzbuzz\n")
} {
(if (is (remainder i 3) 0) {
(print "fizz\n")
} {
(if (is (remainder i 5) 0) {
(print "buzz\n")
} {
(print i "\n")
})
})
})
})
- Implementando a sequência de Fibonacci
// use a simple recursive function to calculate the nth fibonacci number
fibonacci = {n ->
<- (if (is n 0) {<- 0} {
<- (if (is n 1) {<- 1} {
<- (add
(fibonacci (subtract n 1))
(fibonacci (subtract n 2))
)
})
})
}
(until "stop" {state n ->
(print (add n 1) "-" (fibonacci (add n 1)) "\n")
})
Mais código de amostra: https://github.com/liam-ilan/crumb/tree/main/examples
A biblioteca padrão inclui: IO, Comparações, Operadores Lógicos, Aritmética, etc.