{"id":28168742,"url":"https://github.com/aygp-dr/strange-loop-cat","last_synced_at":"2026-03-14T01:11:21.261Z","repository":{"id":293063473,"uuid":"982530941","full_name":"aygp-dr/strange-loop-cat","owner":"aygp-dr","description":"Category Theory Explorer with a focus on Strange Loops and Self-Reference","archived":false,"fork":false,"pushed_at":"2025-05-13T13:27:31.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-13T14:34:16.360Z","etag":null,"topics":["ai","category-theory","guile","literate-programming","llm","mathematics","org-mode","recursive-structures","scheme","self-reference","strange-loops"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aygp-dr.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-05-13T03:05:57.000Z","updated_at":"2025-05-13T13:27:34.000Z","dependencies_parsed_at":"2025-05-13T14:34:37.364Z","dependency_job_id":"5129c0f7-fe37-4bc0-8a0d-94ee223f431a","html_url":"https://github.com/aygp-dr/strange-loop-cat","commit_stats":null,"previous_names":["aygp-dr/strange-loop-cat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Fstrange-loop-cat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Fstrange-loop-cat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Fstrange-loop-cat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Fstrange-loop-cat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aygp-dr","download_url":"https://codeload.github.com/aygp-dr/strange-loop-cat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254364233,"owners_count":22058880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ai","category-theory","guile","literate-programming","llm","mathematics","org-mode","recursive-structures","scheme","self-reference","strange-loops"],"created_at":"2025-05-15T15:14:08.693Z","updated_at":"2026-03-14T01:11:16.219Z","avatar_url":"https://github.com/aygp-dr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: Strange Loop Cat: Category Theory Explorer\n#+AUTHOR: Jason Walsh\n#+EMAIL: j@wal.sh\n#+DATE: 2025-05-12\n#+OPTIONS: toc:3 num:3 \n#+PROPERTY: header-args:scheme :results output :exports both :eval yes\n#+PROPERTY: header-args:guile :results output :exports both :eval yes :noweb yes\n#+PROPERTY: header-args:mermaid :file images/diagrams/:results file :exports both\n#+SETUPFILE: https://fniessen.github.io/org-html-themes/org/theme-readtheorg.setup\n\n* Strange Loop Cat\n\nThis repository explores the beautiful connections between category\ntheory, self-reference, and formal systems. Drawing inspiration from\nDouglas Hofstadter's \"Gödel, Escher, Bach\", it provides interactive\nexplorations of categorical concepts with a focus on strange loops and\nrecursive structures.\n\n** Overview\n\nCategory theory offers a powerful mathematical framework for studying\nabstract structures and their relationships, while also providing\ninsights into self-reference and strange loops. This project:\n\n- Visualizes categorical concepts through interactive diagrams\n- Implements categorical structures in Guile Scheme\n- Explores the connections between formal systems, self-reference, and category theory\n- Provides hands-on examples to build intuition for abstract concepts\n\n** Quick Start\n\n- Run the project initialization (one-time setup):\n  #+begin_src shell\n  make init\n  #+end_src\n\n- Open any of the interactive notebooks in Emacs with org-mode\n  #+begin_src shell\n  # Open the basics notebook with Emacs\n  emacs examples/basics.org\n  #+end_src\n\n** Interactive Notebooks\n\nThis repository contains five interactive org-mode notebooks that you\ncan use to explore category theory concepts:\n\n- [[file:examples/basics.org][Basics of Categories and Morphisms]] - Introduction to the fundamental\n  concepts of categories, objects, morphisms, and composition\n\n- [[file:examples/functors.org][Functors and Natural Transformations]] - Structure-preserving maps\n  between categories and transformations between functors\n\n- [[file:examples/yoneda.org][The Yoneda Lemma]] - An exploration of one of the most profound and\n  fundamental results in category theory\n\n- [[file:examples/monads.org][Monads and Computational Effects]] - Understanding monads as a\n  powerful abstraction for managing computational effects\n\n- [[file:examples/strange-loops.org][Strange Loops and Self-Reference]] - Examining self-reference,\n  recursion, and tangled hierarchies with connection to Hofstadter's\n  work\n\nEach notebook contains executable code blocks that demonstrate the\nconcepts discussed and can be tangled to generate standalone Scheme\nfiles.\n\n** Resources\n\n- [[https://ncatlab.org/nlab/show/category+theory][nLab: Category Theory]]\n- [[https://en.wikipedia.org/wiki/Category_theory][Wikipedia: Category Theory]]\n- [[https://arxiv.org/abs/1803.05316][Seven Sketches in Compositionality]] by Brendan Fong and David Spivak\n- [[https://math.ucr.edu/home/baez/categories.html][John Baez: Categories, Quantization, and Much More]]\n- Douglas Hofstadter's \"Gödel, Escher, Bach: An Eternal Golden Braid\"\n- [[file:docs/guides/category-theory-interviews.org][Category Theory for Interviews: Core Concepts with GEB-Style Metaphors]]\n\n** Comprehensive Guides\n\nThe repository includes several comprehensive guides converted to Org Mode format:\n\n- [[file:examples/category-theory-guide.org][Category Theory and Strange Loops: A Comprehensive Guide]]\n- [[file:examples/concepts.org][Core Category Theory Concepts and Terminology]]\n- [[file:examples/functors-monads-guide.org][Functors and Monads Guide]]\n- [[file:examples/fixed-points-guide.org][Fixed Points in Category Theory]]\n- [[file:examples/type-theory-guide.org][Type Theory and Category Theory]]\n- [[file:examples/scheme-lisp-guide.org][Scheme and Lisp for Category Theory]]\n- [[file:examples/yoneda-lemma-guide.org][The Yoneda Lemma: Detailed Guide]]\n\n** Essential Commands\n\nThis project uses Make to simplify working with the code and documentation. Here are the essential commands:\n\n| Command               | Description                                          |\n|-----------------------+------------------------------------------------------|\n| ~make init~           | Set up the project (run this first!)                 |\n| ~make tangle~         | Generate all Scheme source files from org notebooks  |\n| ~make tangle-file FILE=path~ | Generate code from a specific org notebook    |\n| ~make detangle~       | Update code blocks from their tangled source files   |\n| ~make detangle-file FILE=path~ | Detangle a specific org file                |\n| ~make mermaid~        | Generate diagrams from Mermaid definitions           |\n| ~make test~           | Run tests for the category theory implementation     |\n| ~make org-lint~       | Run org-lint on all org files to check for issues    |\n| ~make org-lint-file FILE=path~ | Run org-lint on a specific org file         |\n| ~make md2org~         | Convert all Markdown guides to Org Mode format       |\n| ~make md2org-file FILE=path~ | Convert a specific Markdown file to Org Mode  |\n| ~make clean~          | Remove generated files and start fresh               |\n\nFor Emacs users, you can also:\n- Open any ~.org~ file directly and use ~C-c C-c~ to execute code blocks\n- Use ~C-c C-v t~ (org-babel-tangle) to generate source files from the current notebook\n\n** GEB Connection and Self-Reference\n\nThis project draws heavily from Douglas Hofstadter's seminal work\n\"Gödel, Escher, Bach: An Eternal Golden Braid\" (GEB). The concept of\nstrange loops—processes that move through hierarchical levels and\neventually return to their starting point—is central to both GEB and\nthis project.\n\nSome key connections explored in this repository:\n\n- Category theory provides a formal framework for understanding self-reference\n- Yoneda lemma as a category-theoretic form of \"introspection\"\n- Fixed point operators and their relation to strange loops\n- Tangled hierarchies in category theory\n- Recursive structures and their categorical formalization\n\n** License\n\nMIT License\n\nCopyright (c) 2025 Jason Walsh\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faygp-dr%2Fstrange-loop-cat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faygp-dr%2Fstrange-loop-cat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faygp-dr%2Fstrange-loop-cat/lists"}