[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70916":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},70916,"milewski-ctfp-pdf","hmemcpy\u002Fmilewski-ctfp-pdf","hmemcpy","Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source","https:\u002F\u002Fbartoszmilewski.com\u002F2014\u002F10\u002F28\u002Fcategory-theory-for-programmers-the-preface\u002F",null,"TeX",11631,640,224,44,0,6,13,51,18,43.42,"Other",false,"master",[26,27,28,29,30,31,32,33],"category-theory","cpp","functional-programming","haskell","latex","ocaml","pdf","scala","2026-06-12 02:02:45","![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>` 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\u002Ffig` and `src\u002Fcontent` 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:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDownload-latest-green.svg?style=flat-square\n[github actions link]: https:\u002F\u002Fgithub.com\u002Fhmemcpy\u002Fmilewski-ctfp-pdf\u002Factions\n[github stars]:\n  https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fhmemcpy\u002Fmilewski-ctfp-pdf.svg?style=flat-square\n[github workflow status]:\n  https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fhmemcpy\u002Fmilewski-ctfp-pdf\u002Fnix-flake-check.yaml?branch=master&style=flat-square\n[github latest release]:\n  https:\u002F\u002Fgithub.com\u002Fhmemcpy\u002Fmilewski-ctfp-pdf\u002Freleases\u002Flatest\n[license badge]:\n  https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-CC_By_SA-green.svg?style=flat-square\n[ctfp image]:\n  https:\u002F\u002Fuser-images.githubusercontent.com\u002F601206\u002F47271389-8eea0900-d581-11e8-8e81-5b932e336336.png\n[bartosz github]: https:\u002F\u002Fgithub.com\u002FBartoszMilewski\n[nixos wiki flake]: https:\u002F\u002Fwiki.nixos.org\u002Fwiki\u002FFlakes\n[andres raba github]: https:\u002F\u002Fgithub.com\u002Fsarabander\n[contributors]: https:\u002F\u002Fgithub.com\u002Fhmemcpy\u002Fmilewski-ctfp-pdf\u002Fgraphs\u002Fcontributors\n[license cc by sa]: https:\u002F\u002Fspdx.org\u002Flicenses\u002FCC-BY-SA-4.0.html\n[license gnu gpl]: https:\u002F\u002Fspdx.org\u002Flicenses\u002FGPL-3.0.html\n[blogpost series]:\n  https:\u002F\u002Fbartoszmilewski.com\u002F2014\u002F10\u002F28\u002Fcategory-theory-for-programmers-the-preface\u002F\n[buy regular edition on blurb]:\n  https:\u002F\u002Fwww.blurb.com\u002Fb\u002F9621951-category-theory-for-programmers-new-edition-hardco\n[buy scala edition on blurb]:\n  https:\u002F\u002Fwww.blurb.com\u002Fb\u002F9603882-category-theory-for-programmers-scala-edition-pape\n[v1.3.0 github release link]:\n  https:\u002F\u002Fgithub.com\u002Fhmemcpy\u002Fmilewski-ctfp-pdf\u002Freleases\u002Ftag\u002Fv1.3.0\n[nix website]: https:\u002F\u002Fnixos.org\u002Fnix\u002F\n[nix download website]: https:\u002F\u002Fnixos.org\u002Fdownload.html\n","该项目是Bartosz Milewski所著《程序员的范畴论》非官方PDF和LaTeX源代码版本。核心功能包括提供了一个高质量的电子书版本，支持多种编程语言（如C++、Haskell、Scala等）的示例，并且允许通过Nix构建系统自定义编译不同版本。技术特点在于使用了LaTeX进行排版，确保了文档的专业性和美观性；同时，项目采用Nix包管理器来自动化构建流程，简化了生成PDF的过程。适合于对函数式编程感兴趣或希望深入了解范畴论及其在编程中应用的开发者阅读学习。",2,"2026-06-11 03:34:54","high_star"]