GithubHelp home page GithubHelp logo

hhy5277 / currying-workshopper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kishorsharma/currying-workshopper

0.0 2.0 0.0 34 KB

Currying in JS - Workshop

License: MIT License

JavaScript 100.00%

currying-workshopper's Introduction

currying-workshopper

Teaching currying features of Javascript.

No libraries required (i.e. no underscore), Pure JavaScript.


Why Currying

The goal of this workshop is to learn concept and create a function to apply curry in JavaScript.

Currying is the technique of translating the evaluation of a function that takes multiple arguments (or a tuple of arguments) into evaluating a sequence of functions, each with a single argument. The number of arguments or operands that the function takes is also known as arity /ˈærᵻti/ of a function.

JavaScript has functional capabilities, but currying isn’t built in by default (at least not till the time of writing.. :)).

Installation & Update

$ npm install -g currying-workshopper

Some npm installations require use of sudo in the above command. Recommend to instead reinstall node/npm so you don't need sudo.

Usage Instructions

1. Selecting a problem to work on

Once the workshop is installed, run curry to print a menu where you can select a problem to work on.

$ curry

You are advised to complete them in order, as later problems will build on skills developed by solving previous problems.

2. Writing your solution

Once you have selected a problem, the workshop will remember which problem you are working on. Using your preferred editor, simply create a file to write your solution in.

3. Testing your solution

Use the workshop's run command to point the workshop at your solution file. Your solution will loaded and passed the problem input. This usually won't perform any validation, it will only show the program output.

$ curry run mysolution.js

4. Verifying your solution

Your solution will be verified against the output of the 'official' solution. If all of the output matches, then you have successfully solved the problem!

$ curry verify mysolution.js

Stuck?

Feedback and criticism is welcome, please log your troubles in issues.

Full curriculum reviews like this one are incredibly helpful. More feedback like this please!

We're looking for more practical problems, so if you come across a problem in your day-to-day work which was solved simply and elegantly with currying techniques, please help us create an exercise out of it.

Thanks rvagg

This tutorial was built using rvagg's workshopper framework.

License

MIT

currying-workshopper's People

Contributors

alinsalaru avatar johntasto avatar joshkloster avatar kishorsharma avatar m90 avatar nerddiffer 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.