Currying - is this all? 
Author Message
 Currying - is this all?

I am trying to understand the process of currying.  So far I have

        Currying reduces a function of n arguments to a function of
        (n-1) arguments

        Currying is a higher order function - it returns functions

        Currying is useful in the Lambda calculus because it allows any
        function with multiple arguments to be represented entirely
        in terms of functions with 1 argument each - all theories and
        so forth need only be proved for functions with one argument

        Currying is useful in functional programming languages because
        it lets the programmer 'map' functions across ranges of values

Have I missed anything major, or misunderstood anything?

Bill



Mon, 20 Nov 1995 02:17:50 GMT  
 Currying - is this all?

You might want to post this question in comp.lang.apl.  Currying is a
pretty common operation in the functional language J, discussed there.

--

College of Business Administration                         404-651-4070
Georgia State University                  interests: approx. reasoning,
Atlanta, Georgia USA 30303-3083     (B=)       decision support systems



Mon, 20 Nov 1995 05:29:31 GMT  
 Currying - is this all?
Quote:
Bill Turkel writes:

    I am trying to understand the process of currying.  So far I have
        [...deleted...]

        Currying is useful in the Lambda calculus because it allows any
        function with multiple arguments to be represented entirely
        in terms of functions with 1 argument each - all theories and
        so forth need only be proved for functions with one argument

        [ ... deleted...]
    Have I missed anything major, or misunderstood anything?

Actually it is tupling that lets one treat multiple arguments as
a single argument, currying unbundles. As I'd said in a posting
some months ago, currying in the lambda calculi (at least in the
typed lambda calculi, which are quintessential typed functional
languages) has a deep meaning --- the equivalence between the
formulas
        A_1 /\ ... /\ A_n => B       and     A_1 => ... => A_n => B
[with /\ binding tighter than => and => associating right, as usual].

The formulas-as-types, terms-as-proofs correspondence with
Intuitionistic logic, as elucidated by Curry, Howard, DeBruijn et al,
lets us read /\ as * and => as ->.

---

European Computer Industry Research Centre              Off: +49 89 92 69 91 58
Arabellastrasse 17                                      Fax: +49 89 92 69 91 70
8000 Muenchen 81, Germany                               Res: +49 89 16 33 59



Mon, 20 Nov 1995 22:29:16 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. ANN: curry.tcl - curried commands and lambdas in pure Tcl

2. I am not deaf, but am I mute?

3. Come on, bytecode not cached ? (Was Re: ANN: curry.tcl - curried commands and lambdas in pure Tcl

4. Meaning of Curry in J

5. Haskell Curry

6. curried function calling

7. Curry vs Erlang vs Mercury

8. Curry?

9. Newbie question on curried functions

10. ??Curry: Foundations of Mathematical Logic, 2nd ed.

11. Currying

12. History of currying

 

 
Powered by phpBB® Forum Software