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.

2009-10-07 Thread Curt Sampson
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.

2009-10-01 Thread Alberto G. Corona
;)
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.

2009-10-01 Thread Alberto G. Corona
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.

2009-09-30 Thread Alberto G. Corona
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.

2009-09-30 Thread Alberto G. Corona
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