{"id":42861020,"url":"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript","last_synced_at":"2026-01-30T12:37:28.205Z","repository":{"id":45234341,"uuid":"389421238","full_name":"ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript","owner":"ibrahimcesar","description":"λ — Tradução em pt-br de \"Structure and Interpretation of Computer Programs — JavaScript Adaptation\"","archived":false,"fork":false,"pushed_at":"2026-01-10T03:27:32.000Z","size":1718,"stargazers_count":43,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-18T02:47:22.840Z","etag":null,"topics":["hacktoberfest","javascript","sicp","sicp-book","sicp-js"],"latest_commit_sha":null,"homepage":"https://sicpjs.com/pt_BR","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ibrahimcesar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["ibrahimcesar"]}},"created_at":"2021-07-25T19:01:22.000Z","updated_at":"2025-12-09T03:13:46.000Z","dependencies_parsed_at":"2023-01-20T15:46:37.672Z","dependency_job_id":null,"html_url":"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript","commit_stats":null,"previous_names":["ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimcesar%2Festrutura-e-interpretacao-de-programas-de-computador-javascript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimcesar%2Festrutura-e-interpretacao-de-programas-de-computador-javascript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimcesar%2Festrutura-e-interpretacao-de-programas-de-computador-javascript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimcesar%2Festrutura-e-interpretacao-de-programas-de-computador-javascript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibrahimcesar","download_url":"https://codeload.github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimcesar%2Festrutura-e-interpretacao-de-programas-de-computador-javascript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28912913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","javascript","sicp","sicp-book","sicp-js"],"created_at":"2026-01-30T12:37:27.634Z","updated_at":"2026-01-30T12:37:28.196Z","avatar_url":"https://github.com/ibrahimcesar.png","language":"JavaScript","funding_links":["https://github.com/sponsors/ibrahimcesar"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n  \u003cimg src=\"http://source-academy.github.io/sicp/sicp.png\" alt=\"Structure and Interpretation of Computer Programs\n— JavaScript Adaptation\" /\u003e\n\n  \u003ch1\u003eEstrutura e Interpretação de Programas de Computador\u003c/h1\u003e\n  \u003ch2\u003eAdaptação em JavaScript\u003c/h2\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/actions/workflows/ci.yml\"\u003e\n      \u003cimg src=\"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/workflows/CI/badge.svg\" alt=\"CI Status\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/actions/workflows/deploy.yml\"\u003e\n      \u003cimg src=\"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/workflows/Deploy%20to%20GitHub%20Pages/badge.svg\" alt=\"Deploy Status\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://creativecommons.org/licenses/by-sa/4.0/\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg\" alt=\"License: CC BY-SA 4.0\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"package.json\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/node-%3E%3D18.0-brightgreen\" alt=\"Node Version\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"CONTRIBUTING.md\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs Welcome\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/tradução-em%20andamento-yellow\" alt=\"Translation Progress\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/idioma-português-green.svg\" alt=\"Portuguese\"\u003e\n    \u003ca href=\"https://docusaurus.io/\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Made%20with-Docusaurus-blue\" alt=\"Made with Docusaurus\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/graphs/contributors\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/contributors/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript\" alt=\"Contributors\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/issues\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript\" alt=\"Issues\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/commits/main\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/last-commit/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript\" alt=\"Last Commit\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n\u003c/div\u003e\n\nTradução em pt-br de [Structure and Interpretation of Computer Programs — JavaScript Adaptation](https://sourceacademy.org/sicpjs/index)\n\n## 📚 Sobre o Projeto\n\nEste é um projeto colaborativo de tradução para português brasileiro do livro **SICP (Structure and Interpretation of Computer Programs)** - JavaScript Adaptation. O SICP é um dos livros mais influentes sobre ciência da computação e programação, originalmente escrito por Harold Abelson e Gerald Jay Sussman.\n\n## 🎯 Objetivos\n\n- Traduzir todo o conteúdo do SICP.js para português brasileiro\n- Tornar este conhecimento fundamental acessível para a comunidade de língua portuguesa\n- Manter a qualidade técnica e didática do material original\n\n## 🚀 Como Contribuir\n\nContribuições são muito bem-vindas! Você pode ajudar traduzindo novas seções, revisando traduções existentes ou melhorando a infraestrutura do projeto.\n\n### Configuração Rápida\n\n```bash\n# 1. Clone o repositório\ngit clone https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript.git\ncd estrutura-e-interpretacao-de-programas-de-computador-javascript\n\n# 2. Instale as dependências\nmake install\n\n# 3. Execute os testes de qualidade\nmake check\n```\n\n### Comandos Disponíveis\n\n```bash\nmake help              # Mostra todos os comandos disponíveis\nmake lint              # Verifica formatação Markdown\nmake spell-check       # Verifica ortografia em português\nmake link-check        # Verifica links quebrados\nmake check             # Executa todas as verificações\nmake format            # Formata arquivos Markdown\nmake translation-status # Mostra progresso da tradução\n```\n\n### Guia de Tradução\n\nPara informações detalhadas sobre o processo de tradução, convenções de estilo, glossário de termos técnicos e melhores práticas, consulte o **[Guia de Tradução](TRANSLATION.md)**.\n\n## 📖 Estrutura do Projeto\n\n```\n00/    # Prefácios e introdução\n01/    # Capítulo 1: Construindo Abstrações com Funções\n02/    # Capítulo 2: (em andamento)\n...\n```\n\n## 🛠️ Tecnologias\n\n- **Markdown** - Formato dos documentos\n- **markdownlint** - Verificação de formatação\n- **pyspelling** - Verificação ortográfica em português\n- **GitHub Actions** - CI/CD\n\n## 📋 Status da Tradução\n\n### Progresso Geral\n\n```\nTradução: 🟢 Em Andamento\nCapítulos Concluídos: 3/5\nProgresso Estimado: ~60%\n```\n\n### Detalhamento por Capítulo\n\n#### 📖 Capítulo 0: Prefácios e Introdução\n- ✅ Prefácio de 1984 (foreword84.md)\n- ✅ Prefácio de 1996 (prefaces96.md)\n- ✅ Prefácio de 2003 (prefaces03.md)\n\n**Status: ✅ Completo (3/3)**\n\n---\n\n#### 📖 Capítulo 1: Construindo Abstrações com Funções\n\n##### 1.0 Introdução\n- ✅ 1.0.md\n\n##### 1.1 Os Elementos da Programação\n- ✅ 1.1.md (Introdução da seção)\n- ✅ 1.1.1 Expressões\n- ✅ 1.1.2 Nomenclatura e o Ambiente\n- ✅ 1.1.3 Avaliando Combinações de Operadores\n- ✅ 1.1.4 Funções Compostas\n- ✅ 1.1.5 O Modelo de Substituição para Aplicação de Função\n- ✅ 1.1.6 Expressões Condicionais e Predicados\n- ✅ 1.1.7 Exemplo: Raiz Quadrada pelo Método de Newton\n- ✅ 1.1.8 Funções como Abstrações de Caixa Preta\n\n##### 1.2 Funções e os Processos que Geram\n- ✅ 1.2.md (Introdução da seção)\n- ✅ 1.2.1 Recursão Linear e Iteração\n- ✅ 1.2.2 Recursão em Árvore\n- ✅ 1.2.3 Ordens de Crescimento\n- ✅ 1.2.4 Exponenciação\n- ✅ 1.2.5 Máximo Divisor Comum\n- ✅ 1.2.6 Exemplo: Testando Primalidade\n\n##### 1.3 Formulação de Abstrações com Funções de Ordem Superior\n- ✅ 1.3.mdx (Introdução da seção)\n- ✅ 1.3.1 Funções como Argumentos\n- ✅ 1.3.2 Construindo Funções Usando Expressões Lambda\n- ✅ 1.3.3 Funções como Métodos Gerais\n- ✅ 1.3.4 Funções como Retorno\n\n**Status: ✅ Completo (22/22 - 100%)**\n\n---\n\n#### 📖 Capítulo 2: Construindo Abstrações com Dados\n\n##### 2.0 Introdução\n- ✅ 2.0.md\n\n##### 2.1 Introdução à Abstração de Dados\n- ✅ 2.1.md (Introdução da seção)\n- ✅ 2.1.1 Exemplo: Operações Aritméticas para Números Racionais\n- ✅ 2.1.2 Barreiras de Abstração\n- ✅ 2.1.3 O Que Se Entende por Dados?\n- ✅ 2.1.4 Exercício Estendido: Aritmética de Intervalos\n\n##### 2.2 Dados Hierárquicos e a Propriedade de Closure\n- ✅ 2.2.md (Introdução da seção)\n- ✅ 2.2.1 Representando Sequências\n- ✅ 2.2.2 Estruturas Hierárquicas\n- ✅ 2.2.3 Sequências como Interfaces Convencionais\n- ✅ 2.2.4 Exemplo: Uma Linguagem de Imagens\n\n##### 2.3 Dados Simbólicos\n- ✅ 2.3.md (Introdução da seção)\n- ✅ 2.3.1 Strings como Objetos de Dados\n- ✅ 2.3.2 Exemplo: Diferenciação Simbólica\n- ✅ 2.3.3 Exemplo: Representando Conjuntos\n- ✅ 2.3.4 Exemplo: Árvores de Codificação de Huffman\n\n##### 2.4 Múltiplas Representações para Dados Abstratos\n- ✅ 2.4.md (Introdução da seção)\n- ✅ 2.4.1 Representações para Números Complexos\n- ✅ 2.4.2 Dados Etiquetados\n- ✅ 2.4.3 Programação Orientada a Dados e Aditividade\n\n##### 2.5 Sistemas com Operações Genéricas\n- ✅ 2.5.md (Introdução da seção)\n- ✅ 2.5.1 Operações Aritméticas Genéricas\n- ✅ 2.5.2 Combinando Dados de Diferentes Tipos\n- ✅ 2.5.3 Exemplo: Álgebra Simbólica\n\n**Status: ✅ Completo (24/24 - 100%)**\n\n---\n\n#### 📖 Capítulo 3: Modularidade, Objetos e Estado\n\n##### 3.0 Introdução\n- ✅ 3.0.md\n\n##### 3.1 Atribuição e Estado Local\n- ✅ 3.1.md (Introdução da seção)\n- ✅ 3.1.1 Variáveis de Estado Local\n- ✅ 3.1.2 Os Benefícios de Introduzir Atribuição\n- ✅ 3.1.3 Os Custos de Introduzir Atribuição\n\n##### 3.2 O Modelo de Ambiente de Avaliação\n- ✅ 3.2.md (Introdução da seção)\n- ✅ 3.2.1 As Regras para Avaliação\n- ✅ 3.2.2 Aplicando Funções Simples\n- ✅ 3.2.3 Quadros como Repositório de Estado Local\n- ✅ 3.2.4 Declarações Internas\n- ✅ 3.2.5 Máquina CSE\n\n##### 3.3 Modelando com Dados Mutáveis\n- ✅ 3.3.md (Introdução da seção)\n- ✅ 3.3.1 Estrutura de Lista Mutável\n- ✅ 3.3.2 Representando Filas\n- ✅ 3.3.3 Representando Tabelas\n- ✅ 3.3.4 Um Simulador para Circuitos Digitais\n- ✅ 3.3.5 Propagação de Restrições\n\n##### 3.4 Concorrência: Tempo é da Essência\n- ✅ 3.4.md (Introdução da seção)\n- ✅ 3.4.1 A Natureza do Tempo em Sistemas Concorrentes\n- ✅ 3.4.2 Mecanismos para Controlar Concorrência\n\n##### 3.5 Streams\n- ✅ 3.5.md (Introdução da seção)\n- ✅ 3.5.1 Streams São Listas Atrasadas\n- ✅ 3.5.2 Streams Infinitos\n- ✅ 3.5.3 Explorando o Paradigma de Streams\n- ✅ 3.5.4 Streams e Avaliação Atrasada\n- ✅ 3.5.5 Modularidade de Programas Funcionais e Modularidade de Objetos\n\n**Status: ✅ Completo (26/26 - 100%)**\n\n---\n\n#### 📖 Capítulo 4: Abstração Metalinguística\n\n##### 4.1 O Avaliador Metacircular\n- ⬜ 4.1.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n##### 4.2 Variações sobre um Scheme - Avaliação Preguiçosa\n- ⬜ 4.2.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n##### 4.3 Variações sobre um Scheme - Computação Não-Determinística\n- ⬜ 4.3.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n##### 4.4 Programação Lógica\n- ⬜ 4.4.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n**Status: ⬜ Não Iniciado (0/~20)**\n\n---\n\n#### 📖 Capítulo 5: Computação com Máquinas de Registradores\n\n##### 5.1 Projetando Máquinas de Registradores\n- ⬜ 5.1.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n##### 5.2 Um Simulador de Máquina de Registradores\n- ⬜ 5.2.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n##### 5.3 Alocação de Armazenamento e Coleta de Lixo\n- ⬜ 5.3.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n##### 5.4 O Avaliador Explícito-Control\n- ⬜ 5.4.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n##### 5.5 Compilação\n- ⬜ 5.5.md (Introdução da seção)\n- ⬜ Todas as subseções\n\n**Status: ⬜ Não Iniciado (0/~25)**\n\n---\n\n### 🎯 Próximas Prioridades de Tradução\n\n1. **Capítulo 4 - Abstração Metalinguística**\n   - Iniciar tradução completa de todas as seções\n   - Aproximadamente 20 seções a serem traduzidas\n\n2. **Capítulo 5 - Computação com Máquinas de Registradores**\n   - Próximo após conclusão do Capítulo 4\n\n### 📊 Como Acompanhar o Progresso\n\nPara ver o status detalhado da tradução, execute:\n\n```bash\nmake translation-status\n```\n\n### 🔗 Fonte Original\n\nToda tradução é baseada no repositório oficial: [Source Academy SICP](https://github.com/source-academy/sicp)\n\n## 🤝 Código de Conduta\n\nEste projeto adota o [Contributor Covenant](CONTRIBUTING.md). Ao participar, você concorda em seguir seus termos.\n\n## 📝 Licença\n\nVeja o arquivo [LICENSE](LICENSE) para detalhes.\n\n## 🙏 Agradecimentos\n\nAgradecemos a todos os [contribuidores](https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/graphs/contributors) que dedicam seu tempo para tornar este conhecimento acessível em português!\n\n## 🔗 Links Úteis\n\n- [SICP.js Original (inglês)](https://sourceacademy.org/sicpjs/index)\n- [Repositório Source Academy SICP (GitHub)](https://github.com/source-academy/sicp)\n- [SICP Original (Scheme)](https://mitpress.mit.edu/sites/default/files/sicp/index.html)\n- [Guia de Tradução](TRANSLATION.md)\n- [Como Contribuir](CONTRIBUTING.md)\n- [Perguntas Frequentes (FAQ)](FAQ.md)\n- [Histórico de Mudanças (CHANGELOG)](CHANGELOG.md)\n\n\u003c!-- spellcheck: disable --\u003e\n\n## 🌍 Translations to Other Languages\n\nWould you like to see SICP.js translated into another language? We encourage and support the creation of translations into different languages!\n\n### How to Add a New Language\n\nIf you are interested in creating a translation into another language:\n\n1. **Open an issue** in this repository describing:\n   - The language you want to translate to\n   - Your interest and availability to coordinate the project\n   - Any previous experience with technical translations\n\n2. **We will provide**:\n   - Guidance on how to structure the translation project\n   - Access to the resources and tools we use\n   - Support for initial setup\n   - Sharing of best practices learned from this project\n\n3. **You can create** your own repository following the structure and processes we use here\n\nWe believe that quality knowledge should be accessible to everyone, regardless of language. We will be happy to help you start a translation into your language!\n\n\u003c!-- spellcheck: enable --\u003e\n\n---\n\n**Quer ajudar?** Veja as [issues abertas](https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript/issues) ou abra uma nova para reivindicar uma seção para traduzir!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibrahimcesar%2Festrutura-e-interpretacao-de-programas-de-computador-javascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibrahimcesar%2Festrutura-e-interpretacao-de-programas-de-computador-javascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibrahimcesar%2Festrutura-e-interpretacao-de-programas-de-computador-javascript/lists"}