{"id":13475362,"url":"https://github.com/hmemcpy/milewski-ctfp-pdf","last_synced_at":"2025-05-13T20:12:55.055Z","repository":{"id":37580312,"uuid":"102222927","full_name":"hmemcpy/milewski-ctfp-pdf","owner":"hmemcpy","description":"Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source","archived":false,"fork":false,"pushed_at":"2025-05-08T12:23:20.000Z","size":72613,"stargazers_count":11226,"open_issues_count":62,"forks_count":608,"subscribers_count":238,"default_branch":"master","last_synced_at":"2025-05-08T12:41:24.257Z","etag":null,"topics":["category-theory","cpp","functional-programming","haskell","latex","ocaml","pdf","scala"],"latest_commit_sha":null,"homepage":"https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hmemcpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2017-09-02T20:53:28.000Z","updated_at":"2025-05-08T12:23:25.000Z","dependencies_parsed_at":"2023-10-10T20:12:35.923Z","dependency_job_id":"3ed57275-2d39-4211-8243-002f03fb64ff","html_url":"https://github.com/hmemcpy/milewski-ctfp-pdf","commit_stats":{"total_commits":341,"total_committers":77,"mean_commits":4.428571428571429,"dds":0.4574780058651027,"last_synced_commit":"f6b98020e9a21684e397dd159c3b5a163b5c60b8"},"previous_names":[],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmemcpy%2Fmilewski-ctfp-pdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmemcpy%2Fmilewski-ctfp-pdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmemcpy%2Fmilewski-ctfp-pdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmemcpy%2Fmilewski-ctfp-pdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hmemcpy","download_url":"https://codeload.github.com/hmemcpy/milewski-ctfp-pdf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254020615,"owners_count":22000755,"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":["category-theory","cpp","functional-programming","haskell","latex","ocaml","pdf","scala"],"created_at":"2024-07-31T16:01:19.750Z","updated_at":"2025-05-13T20:12:50.046Z","avatar_url":"https://github.com/hmemcpy.png","language":"TeX","funding_links":[],"categories":["TeX","Books","Category theory","Mathematics","其他","Mathématiques, mathématiques et informatique et autres aspects *bas niveau*","cpp","scala","Computer Science","Table of contents"],"sub_categories":["Language Comparison","网络服务_其他","IA, LLMs","Category Theory","Books"],"readme":"![GitHub stars][github stars]\n[![GitHub Workflow Status][github workflow status]][github actions link]\n[![Download][download badge]][github latest release]\n[![License][license badge]][github latest release]\n\n# Category Theory For Programmers\n\nAn _unofficial_ PDF version of \"**C**ategory **T**heory **F**or **P**rogrammers\"\nby [Bartosz Milewski][bartosz github], converted from his [blogpost\nseries][blogpost series] (_with permission!_).\n\n![Category Theory for Programmers][ctfp image]\n\n## Buy the book\n\n- **[Standard edition in full-color hardcover\n  print][buy regular edition on blurb]**\n  - Publish date: 12 August, 2019.\n  - Based off release tag [v1.3.0][v1.3.0 github release link]. See\n    [errata-1.3.0](errata-1.3.0.md) for changes and fixes since print.\n- **[Scala Edition in paperback][buy scala edition on blurb]**\n  - Publish date: 12 August, 2019.\n  - Based off release tag [v1.3.0][v1.3.0 github release link]. See\n    [errata-scala](errata-scala.md) for changes and fixes since print.\n\n## Build the book\n\nThe building workflow requires [Nix][nix website]. After [installing\nNix][nix download website], you need to enable the upcoming \"flake\" feature\nwhich must be [enabled manually][nixos wiki flake] the time being. This is\nneeded to expose the new Nix commands and flakes support that are hidden behind\nfeature-flags.\n\nAfterwards, type `nix flake show` in the root directory of the project to see\nall the available versions of this book. Then type `nix build .#\u003cedition\u003e` to\nbuild the edition you want (Scala, OCaml, Reason and their printed versions).\nFor example, to build the Scala edition you'll have to type\n`nix build .#ctfp-scala`. For Haskell (the original version) that is just\n`nix build .#ctfp`.\n\nUpon successful compilation, the PDF file will be placed in the `result`\ndirectory.\n\nThe command `nix develop` will provide a shell containing all the required\ndependencies to build the book manually using the provided `Makefile`. To build\nthe `ctfp-scala` edition, just run `make ctfp-scala`.\n\n## Contribute\n\nContributors are welcome to contribute to this book by sending pull-requests.\nOnce reviewed, the changes are merged in the main branch and will be\nincorporated in the next release.\n\n**Note from [Bartosz][bartosz github]**: I really appreciate all your\ncontributions. You made this book much better than I could have imagined. Thank\nyou!\n\nFind the [list of contributors on Github][contributors].\n\n## Acknowledgements\n\nPDF LaTeX source and the tools to create it are based on the work by [Andres\nRaba][andres raba github]. The book content is taken, with permission, from\n[Bartosz Milewski][bartosz github]'s blogpost series, and adapted to the LaTeX\nformat.\n\nThe original blog post acknowledgments by Bartosz are consolidated in the\n_Acknowledgments_ page at the end of the book.\n\n## License\n\nThe PDF book, `.tex` files, and associated images and figures in directories\n`src/fig` and `src/content` are licensed under [Creative Commons\nAttribution-ShareAlike 4.0 International License][license cc by sa].\n\nThe script files `scraper.py` and others are licensed under [GNU General Public\nLicense version 3][license gnu gpl].\n\n[download badge]:\n  https://img.shields.io/badge/Download-latest-green.svg?style=flat-square\n[github actions link]: https://github.com/hmemcpy/milewski-ctfp-pdf/actions\n[github stars]:\n  https://img.shields.io/github/stars/hmemcpy/milewski-ctfp-pdf.svg?style=flat-square\n[github workflow status]:\n  https://img.shields.io/github/actions/workflow/status/hmemcpy/milewski-ctfp-pdf/nix-flake-check.yaml?branch=master\u0026style=flat-square\n[github latest release]:\n  https://github.com/hmemcpy/milewski-ctfp-pdf/releases/latest\n[license badge]:\n  https://img.shields.io/badge/License-CC_By_SA-green.svg?style=flat-square\n[ctfp image]:\n  https://user-images.githubusercontent.com/601206/47271389-8eea0900-d581-11e8-8e81-5b932e336336.png\n[bartosz github]: https://github.com/BartoszMilewski\n[nixos wiki flake]: https://wiki.nixos.org/wiki/Flakes\n[andres raba github]: https://github.com/sarabander\n[contributors]: https://github.com/hmemcpy/milewski-ctfp-pdf/graphs/contributors\n[license cc by sa]: https://spdx.org/licenses/CC-BY-SA-4.0.html\n[license gnu gpl]: https://spdx.org/licenses/GPL-3.0.html\n[blogpost series]:\n  https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/\n[buy regular edition on blurb]:\n  https://www.blurb.com/b/9621951-category-theory-for-programmers-new-edition-hardco\n[buy scala edition on blurb]:\n  https://www.blurb.com/b/9603882-category-theory-for-programmers-scala-edition-pape\n[v1.3.0 github release link]:\n  https://github.com/hmemcpy/milewski-ctfp-pdf/releases/tag/v1.3.0\n[nix website]: https://nixos.org/nix/\n[nix download website]: https://nixos.org/download.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmemcpy%2Fmilewski-ctfp-pdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhmemcpy%2Fmilewski-ctfp-pdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmemcpy%2Fmilewski-ctfp-pdf/lists"}