$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] painless currying
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-08-26 18:26:45
AMDG
On 08/26/2011 02:51 PM, Larry Evans wrote:
> On 08/26/11 15:24, Dave Abrahams wrote:
>>
>> No, sorry, but that's just silly.  Array indexing is entirely
>> consistent:
>>
>>    f[0] => returns int(&)[1][1]
>>    f[0][0] => returns int(&)[1]
>>    f[0][0][0] => returns int&
>>
> Then so is (using haskell notation):
> 
>   f :: X -> Y -> Z -> int
> 
>   f x => returns Y -> Z -> int
>   f x y => returns Z -> int
>   f x y z => returns int
> 
> which is Eric's point.  IOW, when supplied with enough arguments,
> the function returns the result_type of the function, just as,
> when a multi-dimensional array is supplied enough arguments
> (or indices) it returns the value type of the array.
> 
That's just how functions that take multiple
arguments work in Haskell.  It isn't how
C++ works.  Trying to create the same behavior
in a language that supports multi-argument
functions directly seems like it would cause
more confusion than good.
In Christ,
Steven Watanabe