Re: Fwd: [Haskell-cafe] I read somewhere that for 90% of a wide class of computing problems, you only need 10% of the source code in Haskell, that you would in an imperative language.
On 2009-10-01 18:47 +0200 (Thu), Alberto G. Corona wrote: May be because consciousness is relatively new and thus, not optimized. Actually, no; our brains are very, very highly optimized. Only they're optimized for minimum power usage, not making the best decisions. For more information, see Read Montague's _Your Brain Is (Almost) Perfect: How We Make Decisions_. cjs -- Curt Sampson c...@starling-software.com+81 90 7737 2974 Functional programming in all senses of the word: http://www.starling-software.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Fwd: [Haskell-cafe] I read somewhere that for 90% of a wide class of computing problems, you only need 10% of the source code in Haskell, that you would in an imperative language.
;) Off topic: Maybe the entire space time, the universe and his history, is isomorphic to a mathematical structure. http://space.mit.edu/home/tegmark/toe_frames.html http://space.mit.edu/home/tegmark/toe_frames.html 2009/10/1 Peter Verswyvelen bugf...@gmail.com On Thu, Oct 1, 2009 at 9:53 AM, Andrew Coppin andrewcop...@btinternet.com wrote: Sure. But what is a computer program? It's a *list of instructions* that tells a computer *how to do something*. And yet, the Haskell definition of sum looks more like a definition of what a sum is rather than an actual, usable procedure for *computing* that sum. (Of course, we know that it /is/ in fact executable... it just doesn't look it at first sight.) Is it? The list of instruction is just an abstraction layer built on top of purely physical process of electrons and transistors; I'm not sure how much imperativeness remains at this level? Not to mention the quantum mechanical processes that take place... And that are also just mathematical models... I mean, it really depends from which angle and at which detail you look at it, no? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Fwd: [Haskell-cafe] I read somewhere that for 90% of a wide class of computing problems, you only need 10% of the source code in Haskell, that you would in an imperative language.
May be because consciousness is relatively new and thus, not optimized. Sequentiallity is somehow related with lack of information and lack or resources. There is nothing more sequential than a Turing machine. The Von Newman architecture is designed to make as much as possible with a few more resources. The older parts of the brain are fast and parallel because they have a long history of optimizations by natural selection., The new cortex still struggles, step by step, to deduce new information from the available internal and external information at the pace they arrive. 2009/10/1 Tom Tobin korp...@korpios.com On Thu, Oct 1, 2009 at 3:26 AM, Andrew Coppin andrewcop...@btinternet.com wrote: It might be a better argument to say that human thinking is fundamentally sequential; parallel computers have been around for a little while now... Perhaps *conscious* human thinking is sequential — yet our brains are massively parallel processors, and have been around for quite a long time. ;-) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Fwd: [Haskell-cafe] I read somewhere that for 90% of a wide class of computing problems, you only need 10% of the source code in Haskell, that you would in an imperative language.
Again, i missed to forward the message to the list: I experince also the drug effect. Evolutionary psychologists would say that, because it was vital for our survival, since the stone age, we appreciate any tool powerful enough to solve many problems while at the same time remain simple. So whenever the utility versus learning.-using-,maintaining costs of a tool is low. then the tool is more appreciated and more pleasure we experiencie by using it. That applies either to a sword, a horse, a car or a programming language. Haskell has an execution strategy and a type system that cares for himself about code consistency and a reasonable optimization, It has only a few keywords, and a intuitive syntax , But combining the security that gives the first two factors and the flexibility of the other two, one can reach high levels of abstraction maintaining a high degree of confidence in the generated code, And such code can be applied to a wider variety of problems. For that matter I think that while other languages can borrow some features of haskell, they will never have the power that can be achieved by having them all. And most of them are deep in the core. 2009/9/30 Peter Verswyvelen bugf...@gmail.com Yep, LINQ makes C# more enjoyable :-) Scala and haXe also look nice, a bit of a mix between OCaml/F#, C#/Java and Haskell. Besides the fact that hacking in Haskell is a great deal of fun, the main reason I see for learning Haskell: it makes you a better programmer. After a couple of years of playing with Haskell, I can now solve problems that I couldn't before. It's of course hard to tell if Haskell is the reason here, or just experience, but I feel it really is Haskell (actually, functional programming). Haskell made me see the world in a different way (and if I see Oleg's and co's code, I still have an infinitely long road ahead. The main reason why you should not learn Haskell: it's a bit of a drug; after you learned Haskell, programming in an industrial strength language suddenly feels like a waste of time, time better spent learning more Haskell... On Wed, Sep 30, 2009 at 10:26 AM, Deniz Dogan deniz.a.m.do...@gmail.comwrote: 2009/9/30 Andrew Coppin andrewcop...@btinternet.com: (Mr C++ argues that homo sapiens fundamentally think in an imperative way, and therefore functional programming in general will never be popular. Sounds more like Mr C++ fundamentally thinks in an imperative way because that's what he is used to. I recently started working with C# and struggled for way too long with for/foreach loops to do things that in Haskell could be expressed using only folding, mapping and filtering. When I realised that those ideas actually exist in System.Linq I suddenly started liking the language a bit more. txtCommaSeparatedNames.Text.Split(',').Select(x = x.Trim()).Where(x = x.Length 0).Select(x = Convert.ToInt32(x)).ToList(); Ah, the joy of FP. -- Deniz Dogan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Fwd: [Haskell-cafe] I read somewhere that for 90% of a wide class of computing problems, you only need 10% of the source code in Haskell, that you would in an imperative language.
I would say that pure knowledge is pure and functional. but human planning and problem solving is imperative because implies sequencing of operations based on this pure knowledge. haskell express both nicely. 2009/9/30 Andrew Coppin andrewcop...@btinternet.com Peter Verswyvelen wrote: I really doubt people tend to think in either way. It's not even sure our thinking can be modeled with computing no? Well, try this: Go ask a random person how you add up a list of numbers. Most of them will say wsomething about adding the first two together, adding the third to that total, and so forth. In other words, the step by step instructions. Very few of them will answer that the sum of an empty list is defined to be zero, and the sum of a non-empty list is defined to be the first number plus the sum of the list tail. Then again, few non-programmers will set anything about creating a counter variable and initialising it to zero either; this is a programming artifact. (Humans don't think like this internally, but most programming languages conceptually require it.) Nobody has much difficulty with this, so maybe the only problem with Haskell is that everybody learns to program the other way first, before they get to Haskell... ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe