Giter Site home page Giter Site logo

fpinkotlin's Introduction

Function Programming in Kotlin

Build Status

This is the official source code repository for Manning's Functional Programming in Kotlin book. It contains all code samples and exercises that appear in the book.

Book build process

The book itself is written in AsciiDoc, and is built using Asciidoctor. The code in the repo is the exact code that appears in the book. Asciidoctor pulls all code snippets from this repo via a git submodule, which implies that all code in the book has been compiled, and where applicable, tested. The exercise listings are also taken from this repo, as are the solutions found in the appendix at the back of the book. All exercises and solutions have unit tests to prove their validity.

Running the tests when doing the exercises

This repo is not only used for the purpose of providing the code in book, but can also be used by the reader to complete the exercises. All unimplemented exercises can be found under src/test/kotlin/chapterX/exercises, and are marked with the builtin TODO() function that Kotlin provides. Each unit test has been ignored, and can be re-enabled by removing the ! prefix in the test methods while implementing the exercises in a TDD fashion. Solutions are also provided for verification of the exercises, but should be avoided until at least an attempt has been made at doing the exercises. The solutions can be found under src/test/kotlin/chapterX/solutions. It is encouraged that the student works through all exercises in the book to gain the required proficiency.

Building the project

The project is built using Gradle with the Kotlin DSL. To run the build locally, simply execute the following on the command line:

$ ./gradlew check

Alternatively, the project can be imported into IntelliJ IDEA and run from within the IDE.

Continuous Integration

The project builds on Travis CI, ensuring that the code always compiles and all tests pass, thus validating all the code in the book.

Contributions

See something that doesn't look correct, or do you have a better solution to an exercise? Feel free to raise a PR to improve or correct it.

fpinkotlin's People

Contributors

bitnot avatar jeffmorin avatar kalistace avatar marc0der 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.