X-FeedAbuse: http://nntpfeed.proxad.net/abuse.pl feeded by 88.191.16.109 Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.dougwise.org!nntpfeed.proxad.net!nospam.fr.eu.org!usenet-fr.net!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!news.glorb.com!news2.glorb.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post01.iad.highwinds-media.com!newsfe17.iad.POSTED!00000000!not-for-mail From: David Lamb User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 Newsgroups: comp.lang.java.programmer Subject: Re: Refactoring discovery References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Lines: 18 Message-ID: NNTP-Posting-Host: 67.193.237.254 X-Complaints-To: abuse@cogeco.net X-Trace: newsfe17.iad 1301516129 67.193.237.254 (Wed, 30 Mar 2011 20:15:29 UTC) NNTP-Posting-Date: Wed, 30 Mar 2011 20:15:29 UTC Date: Wed, 30 Mar 2011 16:15:26 -0400 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:2607 On 26/03/2011 3:43 PM, Stefan Ram wrote: > Joshua Cranmer writes: >> But mathematical functions return only one value; > > In mathematics, there is no clear-drawn distinction between > »one value« and »multiple values«. For example, one > says that f, defined as f(x,y):=x+y, is a function of > »two arguments«, yet one usually gives »f: R × R -> R«, > which literally means: it is a function of /one/ argument, > which happens to be a pair. And of course, one can have > functions ... -> R x R. > And out of left field comes currying and/or closures: g: x -> (y -> z) where (f(x))(y) = g(x,y). But it's sometimes annoying that leaving unbound the "second argument" of what you though of as a 2-argument function is privileged over leaving the 1st argument unbound.