>>6
the first of 4chan is you do not talk about shitty posts outside of 4chan
Name:
Anonymous2007-06-03 20:29 ID:MPddzBxZ
>>1 is Enterprise Scalable Professional Business Curry 2.0. ACM (Advanced Curry Management) enables your enterprise to cut operation costs by discovering business logic earlier in the software management cycle, thus allowing for a higher return of investment in your business.
Java is VIP quality. It has about the worst programming language ever created after MS-DOS batch and Spectrum Basic.
Name:
Anonymous2007-06-03 21:38 ID:xDP6R3xQ
Egads. I know this is Java, but srsly, how could they screw up this badly?
Oh jeez, that's ALL it takes? Damn, I must switch to Java. That one line it takes in Haskell pales in comparison to this ENTERPRISE CODE.
I can just see every ENTERPRISE switching to Haskell for all their needs since it can curry in one line. Ha Ha Ha Ha You chimps are killing me.
Name:
Java_Monkey2007-06-03 22:36 ID:ATgwdXXv
Java can do the same thing in one line too. Here's the program. It's word wrapped, but one line nevertheless:
public class Currier<ARG1, ARG2, RET> { public interface CurriableFunctor<ARG1, ARG2, RET> { RET evaluate(ARG1 arg1, ARG2 arg2); } public interface CurriedFunctor<ARG2, RET> { RET evaluate(ARG2 arg); }final CurriableFunctor<ARG1, ARG2, RET> functor; public Currier(CurriableFunctor<ARG1, ARG2, RET> fn) { functor = fn; } public CurriedFunctor<ARG2, RET> curry(final ARG1 arg1) { return new CurriedFunctor<ARG2, RET>() { public RET evaluate(ARG2 arg2) { return functor.evaluate(arg1, arg2); } }; }public static void main(String[] args) { Currier.CurriableFunctor<Integer, Integer, Integer> add = new Currier.CurriableFunctor<Integer, Integer, Integer>() { public Integer evaluate(Integer arg1, Integer arg2) { return new Integer(arg1.intValue() + arg2.intValue());} };Currier<Integer, Integer, Integer> currier = new Currier<Integer, Integer, Integer>(add); Currier.CurriedFunctor<Integer, Integer> add5 = currier.curry(new Integer(5));System.out.println(add5.evaluate(new Integer(2))); } }
Am I the only one who was confused by the whole 'curry' thing? Lol.
Name:
Anonymous2007-06-04 0:46 ID:mt3ZZjUR
hi!
partial aplication is just a shorcut for a lambda. If you have lambda, you don't really need partial application, of course it's convenient, but there is no need for an overlong definition of it.
KTHXBYE
>>24
I can tell by your eloquence and powerful grasp of the English language that you're a man of formidable intelligence whose ideas and convictions are clearly deeply rooted in logic and fact, and deserve to be heralded as the towering pinnacle of thought in this debate.
No, cause they're convenient and cost little. Having curry or not having it is a design decision that affects many things, like, say, keyword parameters.
>>27
That turns into more of a cultural issue. When using easily currying languages, people (should) design their function families in a way that benefits from currying. When using languages with keyword parameters, it is often natural to design functions with a lot of `tweakability' behind keyword parameters that default to some sane commonly-used values.
>>34
INCORRECT. CURRYING MEANS CONVERTING A FUNCTION TAKING N ARGUMENTS TO A FUNCTION TAKING ONE ARGUMENT AND RETURNING ANOTHER CURRIED FUNCTION. IN OTHER WORDS CURRYING MAKES PARTIAL APPLICATION POSSIBLE.
Name:
Anonymous2007-06-05 6:46 ID:xMBsQtbA
....Much like a pile of curry
Name:
Anonymous2007-06-05 9:31 ID:XrMo7x5G
PROTIP: MOST PEOPLE IN THIS THREAD DON'T KNOW THE DIFFERENCE BETWEEN LAMBDAS AND ANONYMOUS CLOSURES
>>38
INCORRECT. ANONYMOUS CLOSURES ARE FUNCTIONS DEFINED IN IMMEDIATE FORM WITHOUT A SYMBOL NAME FOR USE IN AN EXPRESSION, THEIR SCOPE SHARING OUTER LEXICAL SCOPES VARIABLES. LAMBDAS ARE GREEK LETTERS.