GithubHelp home page GithubHelp logo

hhy5277 / sofp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from winitzki/sofp

0.0 1.0 0.0 414.46 MB

The Science of Functional Programming book

License: GNU General Public License v2.0

TeX 17.86% PostScript 82.12% Shell 0.02%

sofp's Introduction

The Science of Functional Programming

This is the official source repository for the new book The Science of Functional Programming: A tutorial, with examples in Scala.

The book is a tutorial exposition of the theoretical knowledge that functional programmers need. The material is developed from first principles and contains complete explanations, derivations, and proofs of almost all required results.

A recorded slide presentation, "Reasoning about types and code", illustrates some of the topics and methods of this book.

Source code

The book is published under the GNU Free Documentation License. Permission is granted to copy, distribute and/or modify this book under the terms of that license.

This repository contains the full source code for the book (LyX and LaTeX / jpg / eps) and shell scripts for building a PDF version of the book. (So this is a "transparent" copy in the sense of the GNU license.)

This repository also contains talk slides for presentations that initiated the work on this book. The talk slides are not part of the book and may be partially obsolete.

Building a PDF version of the book from LyX sources

The current PDF build is available as sofp-src/sofp.pdf.

If you want to build from source, currently you need LyX 2.3.x and pdftk installed.

bash make_sofp_pdf.sh builds the PDF file sofp.pdf.

If you do not have LyX, you can simply build from the provided LaTeX sources using commands such as

latex sofp.tex
latex sofp.tex
latex sofp.tex
makeindex sofp.idx
latex sofp.tex
latex sofp.tex
dvips sofp.dvi
ps2pdf sofp.ps

Printed version of the draft

A printed version of the draft can be purchased at lulu.com: http://www.lulu.com/content/paperback-book/the-science-of-functional-programming/24915714.

This printed version contains only the chapters whose text has been edited and proofread, and corresponds to the PDF file sofp-src/sofp-draft.pdf.

Readers are invited to create github issues in this repository if they wish to make comments or suggestions regarding the contents of the book.

Current status of the draft

Chapters 1-6 as well as some appendices and discussion chapters are ready after a second proofreading of the draft. Chapter 13 is in preparation.

Roadmap

  • Milestone 1 (achieved as of August 2019): chapters 1-6 are completed and available for purchase at lulu.com as a cheap (black/white) paperback.
  • Milestone 2 (ETA: November 2019): chapters 7, 8, 9, 13 are completed. The draft is available for purchase at lulu.com (black/white, cheaper) and at blurb.com (color, more expensive) in paperback.
  • Milestone 3 (ETA: end of 2019): chapters 1-13 are completed and available for purchase at lulu.com (black/white, cheaper) and blurb.com (color, more expensive) as both paperback and hardcover versions.
  • Milestone 4 (ETA: mid-2020): possibly adding chapters 14-16, the entire book is completed after possible revisions and input from readers.

sofp's People

Contributors

winitzki avatar

Watchers

 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.