Giter Site home page Giter Site logo

fighting4now / milewski-ctfp-pdf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hmemcpy/milewski-ctfp-pdf

0.0 2.0 0.0 70.96 MB

Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source

Home Page: https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/

License: Other

C++ 0.40% Python 0.25% OCaml 5.42% Haskell 2.88% Scala 5.13% Standard ML 0.41% TeX 79.09% Nix 0.56% Makefile 0.30% Reason 5.56%

milewski-ctfp-pdf's Introduction

Category Theory for Programmers

image Direct link: category-theory-for-programmers.pdf
(Latest release: v1.3.0, August 2019. See releases for additional formats and languages.)

Build Status
(latest CI build)

Buy Category Theory for Programmers
Available in full-color hardcover print
Publish date: 12 August, 2019. Based off release tag v1.3.0. See errata-1.3.0 for changes and fixes since print.

Scala Edition is now available in paperback
Publish date: 12 August, 2019. Based off release tag v1.3.0. See errata-scala for changes and fixes since print.

This is an unofficial PDF version of "Category Theory for Programmers" by Bartosz Milewski, converted from his blogpost series (with permission!)


Building

The best way to build the book is using the Nix package manager. After installing Nix, if you're using a non-NixOS operating system, you need to install nixFlakes in your environment following the steps below (source):

$ nix-env -iA nixpkgs.nixFlakes

Edit either ~/.config/nix/nix.conf or /etc/nix/nix.conf and add:

experimental-features = nix-command flakes

This is needed to expose the Nix 2.0 CLI and flakes support that are hidden behind feature-flags.

Also, if the Nix installation is in multi-user mode, don’t forget to restart the nix-daemon.

Afterwards, type nix flake show in the root directory of the project to see all the available versions of this book. Then type nix build .#<edition> to build the edition you want (Haskell, Scala, OCaml, Reason and their printed versions). For example, to build the Scala edition you'll have to type nix build .#ctfp-scala.

Upon successful compilation, the PDF file will be placed in the result directory inside the root directory milewski-ctfp-pdf of the repository.

The file preamble.tex contains all the configuration and style declarations.

Acknowledgements

PDF LaTeX source and the tools to create it are based on the work by Andres Raba et al., available here: https://github.com/sarabander/sicp-pdf.
The book content is taken, with permission, from Bartosz Milewski's blogpost series, and adapted to the LaTeX format.

Thanks to the following people for contributing corrections/conversions and misc:

  • Oleg Rakitskiy
  • Jared Weakly
  • Paolo G. Giarrusso
  • Adi Shavit
  • Mico Loretan
  • Marcello Seri
  • Erwin Maruli Tua Pakpahan
  • Markus Hauck
  • Yevheniy Zelenskyy
  • Ross Kirsling
  • ...and many others!

The original blog post acknowledgments by Bartosz are consolidated in the Acknowledgments page at the end of the book.

Note from Bartosz: I really appreciate all your contributions. You made this book much better than I could have imagined. Thank you!

License

The PDF book, .tex files, and associated images and figures in directories src/fig and src/content are licensed under Creative Commons Attribution-ShareAlike 4.0 International License (cc by-sa).

The script files scraper.py and others are licensed under GNU General Public License version 3 (for details, see LICENSE).

milewski-ctfp-pdf's People

Contributors

hmemcpy avatar bartoszmilewski avatar rkirsling avatar drupol avatar zelenya avatar fosskers avatar efanzh avatar hololeap avatar raol avatar kaksmet avatar oylenshpeegul avatar mseri avatar joebowbeer avatar gvol avatar gbabin avatar jubnzv avatar fhammerschmidt avatar madnight avatar arulselvanmadhavan avatar adishavit avatar phlosioneer avatar rachelcarmena avatar rfourquet avatar rberenguel avatar alterego7 avatar stillerharpo avatar timmyjose avatar vaibhavsagar avatar vshenoy avatar zegeri avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.