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

circ: uma linguagem pra circuitos digitais, que desenha a si mesma em ASCII

Oi pessoal, tudo bom?
Há um tempo eu venho escrevendo uma série de posts no meu blog sobre fundamentos de computação (portas lógicas, binário, memória, esse tipo de coisa), e em cada post tinha que colocar diagramas de circuitos. No começo eram SVGs estáticos que eu desenhava na mão, depois um renderizador em TypeScript que eu não parava de remendar. Funcionavam, mas eram só desenhos. Você podia olhar, mas não podia mexer numa chave e ver o LED acender.
Cansei dos remendos e escrevi uma linguagem bem pequena pra resolver isso. Se chama circ, e descreve circuitos digitais e compila pra WebAssembly. Do mesmo arquivo .circ saem três coisas: o .wasm que roda no navegador, um desenho do circuito em ASCII (via --preview), e a tabela verdade (via --truth-table). Os widgets interativos que aparecem nos posts da série são todos circ rodando em background.
Não é uma linguagem séria de sistemas (ainda), é uma coisinha feita pra um propósito específico. Mas eu me diverti muito construindo, e queria dividir com vocês.
Acabei de publicar uma carta apresentando ela: link do post. A linguagem tem um site com a referência completa em circ-lang.org e o código tá no GitHub: link do repo.
Tô bem curioso pra ouvir o que vocês acham. Feedback sobre a sintaxe, sobre o post, sobre qualquer coisa, é bem-vindo.
Valeu!

Carregando publicação patrocinada...
2

Meus 2 cents,

Parabens pela iniciativa !

Eh sempre interessante acompanhar projetos reais usando tecnologia para resolver problemas reais.

Repositorio devidamente starreado e forkeado - obrigado por compartilhar !

Saude e Sucesso !


Este post foi favoritado via extensão TABNEWS FAVORITOS

Tem curiosidade sobre IA ? Da uma olhada no meu LIVRO: IA PARA ENGENHEIROS

2

Sou da área de sistemas embarcados e achei brilhante, meus parabéns, Jefferson!
Sempre curti criações da comunidade que são voltadas pra essa área, principalmente por saber que na faculdade de engenharia muitas das ferramentas e softwares são arcaicos. No final da faculdade, quando tive a disciplina de Microeletrônica e precisei programar em VHDL, notei quanto a falta de ferramentas/materiais didáticos atualizados afeta a curva de aprendizagem (notei que você tem o nand2tetris como referência).
Ainda não bisbilhotei a linguagem, mas salvei teu blog pra acompanhar os posts e uso da linguagem.

2
1
0