Git Product home page Git Product logo

functional-programming-exercises's Introduction

Description

This goal provides an introduction to functional programming concepts using JavaScript and gives you the opportunity to practice these concepts with a series of reinforcement exercises from the Mostly Adequate Guide to Functional Programming and a handful of automated challenges on CodeWars.

Context

Functional programming patterns are becoming increasingly popular in the web development community. Using these patterns results in code that is more adaptable and flexible, less buggy, and more scalable.

The article The Two Pillars of JavaScript : Pt 2: Functional Programming How to Stop Micromanaging Everything goes into many of the reasons why you might want to consider learning how to write JavaScript as a functional programmer would.

Specifications

  • Read the Mostly Adequate Guide to Functional Programming through Chapter 8: Tupperware
  • Complete the exercises in the Mostly Adequate Guide (note: there aren't exercises after each chapter - just the ones on Ch 4: Currying, Ch: 5: Coding by Composing, and Ch: 8 Tupperware).
  • Practice these concepts by completing at least 5 Functional Programming exercises on CodeWars (just a heads up: you're required to answer a couple of super basic JS questions to sign up for CodeWars). BONUS: Do more if you get through 5 exercises by the end of the cycle.

Quality Rubric

  • All exercises in the Mostly Awesome Guide are completed and pushed to GitHub: 25 pts
  • At least 5 exercises on CodeWars are completed: 25 pts

Resources

So You Want to Be a Functional Programmer

Eloquent JavaScript Chapter 6: Functional Programming

Ramda - similar to lodash, but for functional programming

Functors, Applicatives, And Monads In Pictures

Category Theory for Programmers (advanced)

Ramda REPL (read-evaluate-print-loop)

Professor Frisby Introduces Composable Functional JavaScript


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

functional-programming-exercises's People

Contributors

alvarogarcia7 avatar aneophyte avatar bartgryszko avatar chentsulin avatar christiantakle avatar despairblue avatar ethanjstark avatar eush77 avatar fix-fix avatar fobos avatar framp avatar guumaster avatar jazmit avatar kdamball avatar kgish avatar ktorz avatar legomushroom avatar manuganji avatar marlun78 avatar matt-paul avatar mdavidgreen avatar okaybenji avatar pmuellr avatar sdweber422 avatar slikts avatar syzer avatar tehshrike avatar tonyday avatar ultranaut avatar wulfmeister avatar

Watchers

 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.