Higher order function returns pure function

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
17
down vote

favorite
1












Here's an example of an higher order function called functionA that has customValue as input and returns a function that gets an input and uses the custom value to elaborate a result:



let functionA = (customValue) => 
let value = customValue ;


Here's some results:



functionA()(4) 
// => returns 4

functionA(2)(4)
// => returns 8

functionA(3)(4)
// => returns 12

functionA(4)(4)
// => returns 16


Can the function returned by functionA be considered pure?



UPDATE: the examples above are only using numeric input. As described by @CRice, the returned function can be considered pure only when customValue is constant and doesn't have internal state (like classes).







share|improve this question


















  • 5




    There is healthy, meaningful discussion in the community about what "pure" means for functions. One (over?-)simplified definition is "no side effects"--no impact on variables/state outside the function scope that would make the function have different effects with the same input. Your functionA definitely meets that criterion. I say yes.
    – Andy Taton
    Aug 22 at 2:28







  • 4




    If you only consider reasonable input, i.e. number (or BigInt, now) – see CRice’s answer – then yes, it’s pure.
    – Ry-♦
    Aug 22 at 2:42







  • 2




    Some kindly folks upvoted my comment, but it's clear I misinterpreted the question. You did not ask "Is functionA pure?", but rather "Is the function returned by functionA always pure, by virtue of functionA?" As someone else answers below, I think the answer to this second question is "no".
    – Andy Taton
    Aug 22 at 2:45










  • Puzzles in JS are hard to solve with many kinds of overloading available. (same for C++)
    – user202729
    Aug 22 at 7:30










  • For OP: Don't edit the answer into the question. If you want to answer post an answer.
    – user202729
    Aug 22 at 7:31














up vote
17
down vote

favorite
1












Here's an example of an higher order function called functionA that has customValue as input and returns a function that gets an input and uses the custom value to elaborate a result:



let functionA = (customValue) => 
let value = customValue ;


Here's some results:



functionA()(4) 
// => returns 4

functionA(2)(4)
// => returns 8

functionA(3)(4)
// => returns 12

functionA(4)(4)
// => returns 16


Can the function returned by functionA be considered pure?



UPDATE: the examples above are only using numeric input. As described by @CRice, the returned function can be considered pure only when customValue is constant and doesn't have internal state (like classes).







share|improve this question


















  • 5




    There is healthy, meaningful discussion in the community about what "pure" means for functions. One (over?-)simplified definition is "no side effects"--no impact on variables/state outside the function scope that would make the function have different effects with the same input. Your functionA definitely meets that criterion. I say yes.
    – Andy Taton
    Aug 22 at 2:28







  • 4




    If you only consider reasonable input, i.e. number (or BigInt, now) – see CRice’s answer – then yes, it’s pure.
    – Ry-♦
    Aug 22 at 2:42







  • 2




    Some kindly folks upvoted my comment, but it's clear I misinterpreted the question. You did not ask "Is functionA pure?", but rather "Is the function returned by functionA always pure, by virtue of functionA?" As someone else answers below, I think the answer to this second question is "no".
    – Andy Taton
    Aug 22 at 2:45










  • Puzzles in JS are hard to solve with many kinds of overloading available. (same for C++)
    – user202729
    Aug 22 at 7:30










  • For OP: Don't edit the answer into the question. If you want to answer post an answer.
    – user202729
    Aug 22 at 7:31












up vote
17
down vote

favorite
1









up vote
17
down vote

favorite
1






1





Here's an example of an higher order function called functionA that has customValue as input and returns a function that gets an input and uses the custom value to elaborate a result:



let functionA = (customValue) => 
let value = customValue ;


Here's some results:



functionA()(4) 
// => returns 4

functionA(2)(4)
// => returns 8

functionA(3)(4)
// => returns 12

functionA(4)(4)
// => returns 16


Can the function returned by functionA be considered pure?



UPDATE: the examples above are only using numeric input. As described by @CRice, the returned function can be considered pure only when customValue is constant and doesn't have internal state (like classes).







share|improve this question














Here's an example of an higher order function called functionA that has customValue as input and returns a function that gets an input and uses the custom value to elaborate a result:



let functionA = (customValue) => 
let value = customValue ;


Here's some results:



functionA()(4) 
// => returns 4

functionA(2)(4)
// => returns 8

functionA(3)(4)
// => returns 12

functionA(4)(4)
// => returns 16


Can the function returned by functionA be considered pure?



UPDATE: the examples above are only using numeric input. As described by @CRice, the returned function can be considered pure only when customValue is constant and doesn't have internal state (like classes).









share|improve this question













share|improve this question




share|improve this question








edited Aug 22 at 3:13

























asked Aug 22 at 2:19









pnknrg

541320




541320







  • 5




    There is healthy, meaningful discussion in the community about what "pure" means for functions. One (over?-)simplified definition is "no side effects"--no impact on variables/state outside the function scope that would make the function have different effects with the same input. Your functionA definitely meets that criterion. I say yes.
    – Andy Taton
    Aug 22 at 2:28







  • 4




    If you only consider reasonable input, i.e. number (or BigInt, now) – see CRice’s answer – then yes, it’s pure.
    – Ry-♦
    Aug 22 at 2:42







  • 2




    Some kindly folks upvoted my comment, but it's clear I misinterpreted the question. You did not ask "Is functionA pure?", but rather "Is the function returned by functionA always pure, by virtue of functionA?" As someone else answers below, I think the answer to this second question is "no".
    – Andy Taton
    Aug 22 at 2:45










  • Puzzles in JS are hard to solve with many kinds of overloading available. (same for C++)
    – user202729
    Aug 22 at 7:30










  • For OP: Don't edit the answer into the question. If you want to answer post an answer.
    – user202729
    Aug 22 at 7:31












  • 5




    There is healthy, meaningful discussion in the community about what "pure" means for functions. One (over?-)simplified definition is "no side effects"--no impact on variables/state outside the function scope that would make the function have different effects with the same input. Your functionA definitely meets that criterion. I say yes.
    – Andy Taton
    Aug 22 at 2:28







  • 4




    If you only consider reasonable input, i.e. number (or BigInt, now) – see CRice’s answer – then yes, it’s pure.
    – Ry-♦
    Aug 22 at 2:42







  • 2




    Some kindly folks upvoted my comment, but it's clear I misinterpreted the question. You did not ask "Is functionA pure?", but rather "Is the function returned by functionA always pure, by virtue of functionA?" As someone else answers below, I think the answer to this second question is "no".
    – Andy Taton
    Aug 22 at 2:45










  • Puzzles in JS are hard to solve with many kinds of overloading available. (same for C++)
    – user202729
    Aug 22 at 7:30










  • For OP: Don't edit the answer into the question. If you want to answer post an answer.
    – user202729
    Aug 22 at 7:31







5




5




There is healthy, meaningful discussion in the community about what "pure" means for functions. One (over?-)simplified definition is "no side effects"--no impact on variables/state outside the function scope that would make the function have different effects with the same input. Your functionA definitely meets that criterion. I say yes.
– Andy Taton
Aug 22 at 2:28





There is healthy, meaningful discussion in the community about what "pure" means for functions. One (over?-)simplified definition is "no side effects"--no impact on variables/state outside the function scope that would make the function have different effects with the same input. Your functionA definitely meets that criterion. I say yes.
– Andy Taton
Aug 22 at 2:28





4




4




If you only consider reasonable input, i.e. number (or BigInt, now) – see CRice’s answer – then yes, it’s pure.
– Ry-♦
Aug 22 at 2:42





If you only consider reasonable input, i.e. number (or BigInt, now) – see CRice’s answer – then yes, it’s pure.
– Ry-♦
Aug 22 at 2:42





2




2




Some kindly folks upvoted my comment, but it's clear I misinterpreted the question. You did not ask "Is functionA pure?", but rather "Is the function returned by functionA always pure, by virtue of functionA?" As someone else answers below, I think the answer to this second question is "no".
– Andy Taton
Aug 22 at 2:45




Some kindly folks upvoted my comment, but it's clear I misinterpreted the question. You did not ask "Is functionA pure?", but rather "Is the function returned by functionA always pure, by virtue of functionA?" As someone else answers below, I think the answer to this second question is "no".
– Andy Taton
Aug 22 at 2:45












Puzzles in JS are hard to solve with many kinds of overloading available. (same for C++)
– user202729
Aug 22 at 7:30




Puzzles in JS are hard to solve with many kinds of overloading available. (same for C++)
– user202729
Aug 22 at 7:30












For OP: Don't edit the answer into the question. If you want to answer post an answer.
– user202729
Aug 22 at 7:31




For OP: Don't edit the answer into the question. If you want to answer post an answer.
– user202729
Aug 22 at 7:31












3 Answers
3






active

oldest

votes

















up vote
22
down vote



accepted










Using this definition of Pure Function:




In computer programming, a pure function is a function that has the
following properties:



  1. Its return value is the same for the same arguments (no variation with
    local static variables, non-local variables, mutable reference
    arguments or input streams from I/O devices).


  2. Its evaluation has no
    side effects (no mutation of local static variables, non-local
    variables, mutable reference arguments or I/O streams).




Then, no, functionA will not always return a pure function.



Here is a way to use functionA so that it does not return a pure function:






let functionA = (customValue) => 1;
return input => input * value;
;

class Mutater
constructor()
this.i = 0;

valueOf()
return this.i++;



const nonPureFunction = functionA(new Mutater());

// Produces different results for same input, eg: not pure.
console.log(nonPureFunction(10));
console.log(nonPureFunction(10));





As you can see, the returned function, when given the same input (10), produces a different result. This violates the first condition from the above definition (and using the same trick you could also violate the second).






share|improve this answer


















  • 8




    so we can say that as long as customValue doesn't have internal state then the function returned by functionA is pure. Correct?
    – pnknrg
    Aug 22 at 2:50











  • I would say yes, as long as customValue is constant. But you can also pass mutator as the argument to the returned function for the same kind of shenanigans. But would that still count as the "same input"? I don't know.
    – CRice
    Aug 22 at 2:55











  • @pnknrg Would reading from e.g. a stream be considered "internal state"? I think one could just stick with the Wikipedia definition to find that functionA is pure if customValue is pure.
    – Max Langhof
    Aug 22 at 9:46










  • As long as you have mutable data types like Object in JS you will not have pure functions. JS is just a toy language trying to implement functional programming paradigm. With primitive data types like String this might not be the case though.
    – Redu
    Aug 22 at 19:17


















up vote
1
down vote













Yes, the function that is returned, can be considered pure. The reason that it is considered pure, is because the function will always return the same output given the exact same input.






share|improve this answer



























    up vote
    0
    down vote













    Your returned functions can be considered as pure function. In your example, you have effectively 4 different pure functions.



    const pureFunc1 = functionA();
    pureFunc1(4) // => returns 4
    pureFunc1(4) // => returns 4

    const pureFunc2 = functionA(2);
    pureFunc2(4) // => returns 8
    pureFunc2(4) // => returns 8

    // ...





    share|improve this answer






















      Your Answer





      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      convertImagesToLinks: true,
      noModals: false,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













       

      draft saved


      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f51959041%2fhigher-order-function-returns-pure-function%23new-answer', 'question_page');

      );

      Post as a guest






























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      22
      down vote



      accepted










      Using this definition of Pure Function:




      In computer programming, a pure function is a function that has the
      following properties:



      1. Its return value is the same for the same arguments (no variation with
        local static variables, non-local variables, mutable reference
        arguments or input streams from I/O devices).


      2. Its evaluation has no
        side effects (no mutation of local static variables, non-local
        variables, mutable reference arguments or I/O streams).




      Then, no, functionA will not always return a pure function.



      Here is a way to use functionA so that it does not return a pure function:






      let functionA = (customValue) => 1;
      return input => input * value;
      ;

      class Mutater
      constructor()
      this.i = 0;

      valueOf()
      return this.i++;



      const nonPureFunction = functionA(new Mutater());

      // Produces different results for same input, eg: not pure.
      console.log(nonPureFunction(10));
      console.log(nonPureFunction(10));





      As you can see, the returned function, when given the same input (10), produces a different result. This violates the first condition from the above definition (and using the same trick you could also violate the second).






      share|improve this answer


















      • 8




        so we can say that as long as customValue doesn't have internal state then the function returned by functionA is pure. Correct?
        – pnknrg
        Aug 22 at 2:50











      • I would say yes, as long as customValue is constant. But you can also pass mutator as the argument to the returned function for the same kind of shenanigans. But would that still count as the "same input"? I don't know.
        – CRice
        Aug 22 at 2:55











      • @pnknrg Would reading from e.g. a stream be considered "internal state"? I think one could just stick with the Wikipedia definition to find that functionA is pure if customValue is pure.
        – Max Langhof
        Aug 22 at 9:46










      • As long as you have mutable data types like Object in JS you will not have pure functions. JS is just a toy language trying to implement functional programming paradigm. With primitive data types like String this might not be the case though.
        – Redu
        Aug 22 at 19:17















      up vote
      22
      down vote



      accepted










      Using this definition of Pure Function:




      In computer programming, a pure function is a function that has the
      following properties:



      1. Its return value is the same for the same arguments (no variation with
        local static variables, non-local variables, mutable reference
        arguments or input streams from I/O devices).


      2. Its evaluation has no
        side effects (no mutation of local static variables, non-local
        variables, mutable reference arguments or I/O streams).




      Then, no, functionA will not always return a pure function.



      Here is a way to use functionA so that it does not return a pure function:






      let functionA = (customValue) => 1;
      return input => input * value;
      ;

      class Mutater
      constructor()
      this.i = 0;

      valueOf()
      return this.i++;



      const nonPureFunction = functionA(new Mutater());

      // Produces different results for same input, eg: not pure.
      console.log(nonPureFunction(10));
      console.log(nonPureFunction(10));





      As you can see, the returned function, when given the same input (10), produces a different result. This violates the first condition from the above definition (and using the same trick you could also violate the second).






      share|improve this answer


















      • 8




        so we can say that as long as customValue doesn't have internal state then the function returned by functionA is pure. Correct?
        – pnknrg
        Aug 22 at 2:50











      • I would say yes, as long as customValue is constant. But you can also pass mutator as the argument to the returned function for the same kind of shenanigans. But would that still count as the "same input"? I don't know.
        – CRice
        Aug 22 at 2:55











      • @pnknrg Would reading from e.g. a stream be considered "internal state"? I think one could just stick with the Wikipedia definition to find that functionA is pure if customValue is pure.
        – Max Langhof
        Aug 22 at 9:46










      • As long as you have mutable data types like Object in JS you will not have pure functions. JS is just a toy language trying to implement functional programming paradigm. With primitive data types like String this might not be the case though.
        – Redu
        Aug 22 at 19:17













      up vote
      22
      down vote



      accepted







      up vote
      22
      down vote



      accepted






      Using this definition of Pure Function:




      In computer programming, a pure function is a function that has the
      following properties:



      1. Its return value is the same for the same arguments (no variation with
        local static variables, non-local variables, mutable reference
        arguments or input streams from I/O devices).


      2. Its evaluation has no
        side effects (no mutation of local static variables, non-local
        variables, mutable reference arguments or I/O streams).




      Then, no, functionA will not always return a pure function.



      Here is a way to use functionA so that it does not return a pure function:






      let functionA = (customValue) => 1;
      return input => input * value;
      ;

      class Mutater
      constructor()
      this.i = 0;

      valueOf()
      return this.i++;



      const nonPureFunction = functionA(new Mutater());

      // Produces different results for same input, eg: not pure.
      console.log(nonPureFunction(10));
      console.log(nonPureFunction(10));





      As you can see, the returned function, when given the same input (10), produces a different result. This violates the first condition from the above definition (and using the same trick you could also violate the second).






      share|improve this answer














      Using this definition of Pure Function:




      In computer programming, a pure function is a function that has the
      following properties:



      1. Its return value is the same for the same arguments (no variation with
        local static variables, non-local variables, mutable reference
        arguments or input streams from I/O devices).


      2. Its evaluation has no
        side effects (no mutation of local static variables, non-local
        variables, mutable reference arguments or I/O streams).




      Then, no, functionA will not always return a pure function.



      Here is a way to use functionA so that it does not return a pure function:






      let functionA = (customValue) => 1;
      return input => input * value;
      ;

      class Mutater
      constructor()
      this.i = 0;

      valueOf()
      return this.i++;



      const nonPureFunction = functionA(new Mutater());

      // Produces different results for same input, eg: not pure.
      console.log(nonPureFunction(10));
      console.log(nonPureFunction(10));





      As you can see, the returned function, when given the same input (10), produces a different result. This violates the first condition from the above definition (and using the same trick you could also violate the second).






      let functionA = (customValue) => 1;
      return input => input * value;
      ;

      class Mutater
      constructor()
      this.i = 0;

      valueOf()
      return this.i++;



      const nonPureFunction = functionA(new Mutater());

      // Produces different results for same input, eg: not pure.
      console.log(nonPureFunction(10));
      console.log(nonPureFunction(10));





      let functionA = (customValue) => 1;
      return input => input * value;
      ;

      class Mutater
      constructor()
      this.i = 0;

      valueOf()
      return this.i++;



      const nonPureFunction = functionA(new Mutater());

      // Produces different results for same input, eg: not pure.
      console.log(nonPureFunction(10));
      console.log(nonPureFunction(10));






      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Aug 22 at 8:53









      Toby Speight

      14.9k133761




      14.9k133761










      answered Aug 22 at 2:33









      CRice

      9,8381228




      9,8381228







      • 8




        so we can say that as long as customValue doesn't have internal state then the function returned by functionA is pure. Correct?
        – pnknrg
        Aug 22 at 2:50











      • I would say yes, as long as customValue is constant. But you can also pass mutator as the argument to the returned function for the same kind of shenanigans. But would that still count as the "same input"? I don't know.
        – CRice
        Aug 22 at 2:55











      • @pnknrg Would reading from e.g. a stream be considered "internal state"? I think one could just stick with the Wikipedia definition to find that functionA is pure if customValue is pure.
        – Max Langhof
        Aug 22 at 9:46










      • As long as you have mutable data types like Object in JS you will not have pure functions. JS is just a toy language trying to implement functional programming paradigm. With primitive data types like String this might not be the case though.
        – Redu
        Aug 22 at 19:17













      • 8




        so we can say that as long as customValue doesn't have internal state then the function returned by functionA is pure. Correct?
        – pnknrg
        Aug 22 at 2:50











      • I would say yes, as long as customValue is constant. But you can also pass mutator as the argument to the returned function for the same kind of shenanigans. But would that still count as the "same input"? I don't know.
        – CRice
        Aug 22 at 2:55











      • @pnknrg Would reading from e.g. a stream be considered "internal state"? I think one could just stick with the Wikipedia definition to find that functionA is pure if customValue is pure.
        – Max Langhof
        Aug 22 at 9:46










      • As long as you have mutable data types like Object in JS you will not have pure functions. JS is just a toy language trying to implement functional programming paradigm. With primitive data types like String this might not be the case though.
        – Redu
        Aug 22 at 19:17








      8




      8




      so we can say that as long as customValue doesn't have internal state then the function returned by functionA is pure. Correct?
      – pnknrg
      Aug 22 at 2:50





      so we can say that as long as customValue doesn't have internal state then the function returned by functionA is pure. Correct?
      – pnknrg
      Aug 22 at 2:50













      I would say yes, as long as customValue is constant. But you can also pass mutator as the argument to the returned function for the same kind of shenanigans. But would that still count as the "same input"? I don't know.
      – CRice
      Aug 22 at 2:55





      I would say yes, as long as customValue is constant. But you can also pass mutator as the argument to the returned function for the same kind of shenanigans. But would that still count as the "same input"? I don't know.
      – CRice
      Aug 22 at 2:55













      @pnknrg Would reading from e.g. a stream be considered "internal state"? I think one could just stick with the Wikipedia definition to find that functionA is pure if customValue is pure.
      – Max Langhof
      Aug 22 at 9:46




      @pnknrg Would reading from e.g. a stream be considered "internal state"? I think one could just stick with the Wikipedia definition to find that functionA is pure if customValue is pure.
      – Max Langhof
      Aug 22 at 9:46












      As long as you have mutable data types like Object in JS you will not have pure functions. JS is just a toy language trying to implement functional programming paradigm. With primitive data types like String this might not be the case though.
      – Redu
      Aug 22 at 19:17





      As long as you have mutable data types like Object in JS you will not have pure functions. JS is just a toy language trying to implement functional programming paradigm. With primitive data types like String this might not be the case though.
      – Redu
      Aug 22 at 19:17













      up vote
      1
      down vote













      Yes, the function that is returned, can be considered pure. The reason that it is considered pure, is because the function will always return the same output given the exact same input.






      share|improve this answer
























        up vote
        1
        down vote













        Yes, the function that is returned, can be considered pure. The reason that it is considered pure, is because the function will always return the same output given the exact same input.






        share|improve this answer






















          up vote
          1
          down vote










          up vote
          1
          down vote









          Yes, the function that is returned, can be considered pure. The reason that it is considered pure, is because the function will always return the same output given the exact same input.






          share|improve this answer












          Yes, the function that is returned, can be considered pure. The reason that it is considered pure, is because the function will always return the same output given the exact same input.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Aug 22 at 2:30









          Brandon Kirk

          112




          112




















              up vote
              0
              down vote













              Your returned functions can be considered as pure function. In your example, you have effectively 4 different pure functions.



              const pureFunc1 = functionA();
              pureFunc1(4) // => returns 4
              pureFunc1(4) // => returns 4

              const pureFunc2 = functionA(2);
              pureFunc2(4) // => returns 8
              pureFunc2(4) // => returns 8

              // ...





              share|improve this answer


























                up vote
                0
                down vote













                Your returned functions can be considered as pure function. In your example, you have effectively 4 different pure functions.



                const pureFunc1 = functionA();
                pureFunc1(4) // => returns 4
                pureFunc1(4) // => returns 4

                const pureFunc2 = functionA(2);
                pureFunc2(4) // => returns 8
                pureFunc2(4) // => returns 8

                // ...





                share|improve this answer
























                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  Your returned functions can be considered as pure function. In your example, you have effectively 4 different pure functions.



                  const pureFunc1 = functionA();
                  pureFunc1(4) // => returns 4
                  pureFunc1(4) // => returns 4

                  const pureFunc2 = functionA(2);
                  pureFunc2(4) // => returns 8
                  pureFunc2(4) // => returns 8

                  // ...





                  share|improve this answer














                  Your returned functions can be considered as pure function. In your example, you have effectively 4 different pure functions.



                  const pureFunc1 = functionA();
                  pureFunc1(4) // => returns 4
                  pureFunc1(4) // => returns 4

                  const pureFunc2 = functionA(2);
                  pureFunc2(4) // => returns 8
                  pureFunc2(4) // => returns 8

                  // ...






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Aug 22 at 2:40

























                  answered Aug 22 at 2:38









                  engineforce

                  1,1191112




                  1,1191112



























                       

                      draft saved


                      draft discarded















































                       


                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f51959041%2fhigher-order-function-returns-pure-function%23new-answer', 'question_page');

                      );

                      Post as a guest













































































                      Comments

                      Popular posts from this blog

                      What does second last employer means? [closed]

                      List of Gilmore Girls characters

                      Confectionery