Clone or download
Faz: uma linguagem funcional didática
Faz é uma linguagem funcional didática baseada no português, que eu desenvolvi como trabalho de conclusão da graduação. O exemplo abaixo dá uma idéia da linguagem:
função bhaskara(a ∈ Números, b ∈ Números, c ∈ Números) -> Listas de Números
# Dados os coeficientes de uma equação de segundo grau,
# retorna uma lista com suas raízes reais.
seja delta = b^2 - 4*a*c
se delta < 0
devolve []
senão
seja x1 = (-b + raiz(delta)) / (2*a)
seja x2 = (-b - raiz(delta)) / (2*a)
se delta == 0
devolve [x1]
senão
devolve [x1, x2]
A linguagem foi implementada sobre o ambiente Racket, provavelmente não da melhor maneira possível.
Instalação
- Instale o ambiente Racket (
apt-get install racket
no Debian e derivados, ou baixe do site do Racket). - Clone este repositório no diretório de instalação desejado.
- Execute:
raco link <caminho-do-diretório>
- Execute:
raco setup faz
Uso
Para usar a linguagem, abra o ambiente DrRacket, abra a tela de seleção de linguagem (atalho: Ctrl+L), "Other languages", e "Faz". A seguir dê "Run" para pôr a linguagem em efeito.
Bugs
Vários; este código estava no esquecimento desde 2013 e só o estou trazendo à tona novamente agora, mas não estou trabalhando ativamente nele. Se você tem interesse em utilizar a linguagem, queira entrar em contato.
Licença
Copyright © 2013, 2018 Vítor Bujés Ubatuba De Araújo
Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU General Public License conforme publicada pela Free Software Foundation, seja a versão 3 da Licença ou (à sua escolha) qualquer versão posterior.
Este programa é distribuído na esperança de que seja útil, porém SEM QUALQUER GARANTIA, incluindo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO PROPÓSITO. Veja a GNU General Public License para mais detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa. Caso não tenha, veja https://www.gnu.org/licenses/.