Executando verificação de segurança...
8

PITCH: Frege, uma library de Lógica!

E aí, tudo bem? Se você é um estudante de Ciência da Computação, Programador Autodidata ou alguém que simplesmente ama Lógica, se liga nisso aqui!

A Jornada da Lógica

Sempre fui fascinado pela Lógica e, atualmente, estou imerso em meu Trabalho de Conclusão de Curso (TCC), que também é sobre... adivinhou! Lógica! 😄 Foi nesse contexto que me dei conta de uma necessidade: uma ferramenta que tornasse todo esse processo mais suave e eficiente.

Foi então que uma ideia brilhante me ocorreu: "Por que não criar minha própria ferramenta?"

O Nascimento de Frege

Assim nasceu Frege. Uma biblioteca desenvolvida por amor à Lógica e como uma solução para meu projeto de TCC!

Frege foi concebido para facilitar tarefas relacionadas à lógica proposicional, desde a criação de fórmulas até a verificação de propriedades lógicas. Uma ferramenta bacana para estudantes, entusiastas e qualquer pessoa que deseje explorar o fascinante mundo da Lógica! 🌐💡

Um Desafio Empolgante

Ao construir essa lib, encarei diversos desafios, como encarar pela primeira vez o processo de CI/CD, entender como licenças de software funcionam e como um pacote é publicado no NPM.

Embora Frege ainda esteja em sua fase inicial, ele já possui recursos interessantes, como a capacidade de reduzir fórmulas lógicas, gerar tabelas-verdade e verificar propriedades importantes, como tautologia e contingência. E o melhor de tudo? É uma biblioteca de código aberto, o que significa que você também pode contribuir para seu crescimento! 🌱🤝

GitHub - Frege

Obrigado pela atenção, e até mais!

Carregando publicação patrocinada...
1

Que projeto sensacional! Só fiquei pensando porque não implementar a possibilidade de criar essas lógicas de maneira mais simples como ^ para AND, v para OR, ~ para NOT e por aí vai, mas no README está descrito:

// Not supported ❌
frege.evaluate('~(p ^ Q)', {p: false, Q: true});

Obs.: Parabéns pelo repositório no Github, está muito bem escrito!
Obs2.: Também cursei Ciência da Computação e este repositório é uma diversão imensa, parabéns mais uma vez pela escolha do tema de TCC e pela disposição por criar uma implementação para desbloquear a lógica!!!

2

Esse comentário me deixou bem feliz, obrigado de verdade pelas palavras!

Sobre a sugestão: é totalmente válida e com certeza será adotada. No início acabei optando por um conjunto menor de símbolos por questão de simplicidade mesmo, queria apenas ter o mínimo para funcionar.

Logo eu percebi que era mais complicado manter esses caracteres específicos e adicionei suporte a mais estes:

& (para AND)
| (para OR)
! (para NOT)

Facilitou bastante, mas ainda almejo colocar os caracteres que você citou e também as próprias palavras AND, OR e NOT.

De novo, muito obrigado por olhar o projeto e pela sugestão! 🤝