[Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-26 Thread Benjamin Franksen
Steve Schafer wrote: > Neil Bartlett wrote: >>It also highlights some of the misconceptions that still exist and >>need to be challenged, e.g. the idea that Haskell is too hard or is >>impractical for real work. > > Haskell _is_ hard, although I don't think it's _too_ hard, or I wouldn't > be here

[Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-28 Thread Benjamin Franksen
Chris Kuklewicz wrote: > Note that I have not mentioned laziness.  This > is because it only helps to solve problems more elegantly -- other > languages can model infinite computations / data structures when it is > useful to do so. Reminds me of yet another quote from Dijkstra (http://www.cs.utex

[Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-28 Thread Benjamin Franksen
Chris Kuklewicz wrote: > Aside on utterly useful proofs: When you write concurrent programs you > want an API with strong and useful guarantees so you can avoid deadlocks > and starvation and conflicting data read/writes.  Designing an using such > an API is a reasoning exercise identical to creati

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-26 Thread Andrew Wagner
I thought it was very telling that, at the end of the interview, when the interview asked, "In general, where is programming going?", the responses were all things that haskell is good at. Shame it's such an "impractical" language. On 1/26/07, Benjamin Franksen <[EMAIL PROTECTED]> wrote: Steve S

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-28 Thread Chris Kuklewicz
Benjamin Franksen wrote: > Chris Kuklewicz wrote: >> Aside on utterly useful proofs: When you write concurrent programs you >> want an API with strong and useful guarantees so you can avoid deadlocks >> and starvation and conflicting data read/writes. Designing an using such >> an API is a reasoni

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-30 Thread Bulat Ziganshin
Hello Benjamin, Saturday, January 27, 2007, 12:00:11 AM, you wrote: > and support operational reasoning, i.e. creating and understanding programs > by mentally modeling their execution on a machine. This form of reasoning > appeals to 'common sense', it is familiar to almost all (even completely

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Magnus Therning
On Wed, Jan 31, 2007 at 02:40:23 +0300, Bulat Ziganshin wrote: >Hello Benjamin, > >Saturday, January 27, 2007, 12:00:11 AM, you wrote: > >> and support operational reasoning, i.e. creating and understanding >> programs by mentally modeling their execution on a machine. This form >> of reasoning app

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Donald Bruce Stewart
magnus: > All I'm trying to say is that imperative thinking is so common outside > of CS/math and we learn it so early on in life that we probably can > consider it the "natural thinking way". foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes] :) __

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Bill Wood
On Wed, 2007-01-31 at 08:45 +, Magnus Therning wrote: . . . > Nneither way may be "natural", but imperative thinking is extremely > common in society, I'd say much more than "functional" thinking. Just > think of cooking recipes, IKEA instructions, all the algorithms tought > in math classe

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Bill Wood
On Wed, 2007-01-31 at 19:51 +1100, Donald Bruce Stewart wrote: . . . > foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes] Nice example. First, note that you can't get close with map -- you need accumulation across the dishes. Second, the correctness of this plan depends

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Dougal Stanton
Quoth Bill Wood, nevermore, > > foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes] > Finally, that doesn't work so well when there are constraints on the > order that the dishes are washed, for example when washing the cruddiest > dishes first while there are more suds. Ah, b

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Yitzchak Gale
Bulat Ziganshin wrote: FP way is to represent everything as function, imperative way is to represent everything as algorithm. Magnus Therning wrote: Neither way may be "natural", but imperative thinking is extremely common in society, I'd say much more than "functional" thinking. Just think o

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Dougal Stanton
Quoth Bulat Ziganshin, nevermore, > are you learned to write things in this way? in *my* school, we have > studied > > f=(a*b+d)*2 Also there's the issue of variable substitution. It gets taught very early on when algebra is introduced (at least in UK): f = x + 3y and y = sqrt(4 + n) => f

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Magnus Therning
On Wed, Jan 31, 2007 at 13:36:02 +0200, Yitzchak Gale wrote: >Bulat Ziganshin wrote: >>>FP way is to represent everything as >>>function, imperative way is to represent everything as algorithm. > >Magnus Therning wrote: >>Neither way may be "natural", but imperative thinking is extremely >>common i

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Magnus Therning
On Wed, Jan 31, 2007 at 14:05:10 +0300, Bulat Ziganshin wrote: >Hello Magnus, > >Wednesday, January 31, 2007, 11:45:53 AM, you wrote: > >> in math classes in grade school. I doubt that we'll ever see functional >> thinking tought alongside imperative thinking in lower grades in school. > >c=a*b >e

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Mark T.B. Carroll
Magnus Therning <[EMAIL PROTECTED]> writes: (snip) > Sequential thinking would be related to procedural programming, that is > ordering of statements are important but there's no state. Functional > programming is declarative, no order and no state. So, to be strict I'd > say that sequential form

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Kirsten Chevalier
On 1/31/07, Bill Wood <[EMAIL PROTECTED]> wrote: On Wed, 2007-01-31 at 19:51 +1100, Donald Bruce Stewart wrote: . . . > foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes] Nice example. First, note that you can't get close with map -- you need accumulation across the dis

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Ketil Malde
Kirsten Chevalier wrote: On 1/31/07, Bill Wood <[EMAIL PROTECTED]> wrote: On Wed, 2007-01-31 at 19:51 +1100, Donald Bruce Stewart wrote: . . . > foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes] Nice example. First, note that you can't get close with map -- you need

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Magnus Therning
On Wed, Jan 31, 2007 at 09:43:36 -0500, Mark T.B. Carroll wrote: >Magnus Therning <[EMAIL PROTECTED]> writes: >(snip) >> Sequential thinking would be related to procedural programming, that is >> ordering of statements are important but there's no state. Functional >> programming is declarative, n

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Mark T.B. Carroll
Magnus Therning <[EMAIL PROTECTED]> writes: > Now, correct me if I'm wrong, but you see a "natural" ordering in your > haskell expressions, right? Right. > However the compiler/interpreter > has to choose a sequence in order to arrive at a result, since that's > how today's computers work. (Cho

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Brandon S. Allbery KF8NH
On Jan 31, 2007, at 6:10 , Dougal Stanton wrote: Quoth Bill Wood, nevermore, foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes] Finally, that doesn't work so well when there are constraints on the order that the dishes are washed, for example when washing the cruddies

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Seth Gordon
Ketil Malde wrote: > Using a lazy fold may not be the best choice. Although it may > sound enticing to delay washing until a clean dish is actually required > (and having the dirty dishes removed by the garbage collector, hopefully > before they start naturally decomposing), you will quickly run o

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Dan Weston
Imperative thinking is harder for humans than functional thinking. That is why astronauts need lists of instructions. When they use their natural intuition to solve problems, they are thinking functionally (and don't need a list to do it). Babies learn functional intuition immediately (pattern

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Magnus Therning
On Wed, Jan 31, 2007 at 14:28:00 -0800, Dan Weston wrote: >Imperative thinking is harder for humans than functional thinking. That >is why astronauts need lists of instructions. When they use their >natural intuition to solve problems, they are thinking functionally >(and don't need a list to do it

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-02-01 Thread Benjamin Franksen
[sorry, this was meant to go to the list] On Wednesday 31 January 2007 00:40, Bulat Ziganshin wrote: > Saturday, January 27, 2007, 12:00:11 AM, you wrote: > > and support operational reasoning, i.e. creating and understanding > > programs by mentally modeling their execution on a machine. This form

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-02-01 Thread Dougal Stanton
Quoth Magnus Therning, nevermore, > I'm not sure how a "functional" recipe would look, maybe something like > this: > > White_sauce is a combination of ... . > > Chopped_onions is onions cut into small pieces. > > White_sauce_with_chopped_onions is the combination of white_sauce and > choppe

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-02-01 Thread Yitzchak Gale
On 1/31/07, Kirsten Chevalier <[EMAIL PROTECTED]> wrote: On 1/31/07, Bill Wood <[EMAIL PROTECTED]> wrote: > On Wed, 2007-01-31 at 19:51 +1100, Donald Bruce Stewart wrote: >. . . > > foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes] > > Nice example. First, note that yo

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-02-01 Thread Neil Bartlett
> The question is --- how would an expert describe such a process? Would a > professional chef give instructions in the functional or imperative > style? I think a sufficiently expert chef would not even need the functional style. Everything would be declarative. Dave Thomas (of "Pragmatic Progra

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-02-01 Thread Donald Bruce Stewart
neil: > > The question is --- how would an expert describe such a process? Would a > > professional chef give instructions in the functional or imperative > > style? > > I think a sufficiently expert chef would not even need the functional > style. Everything would be declarative. > > Dave Thomas

Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-02-01 Thread Magnus Therning
On Thu, Feb 01, 2007 at 09:24:03 +, Dougal Stanton wrote: [..] >I'm going to go out on a limb here and suggest that, like Feynman's >example of how people count in their heads, both of these explanations >are accurate. If I were to explain the process to someone it would be >in the imperative s

Re[2]: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Bulat Ziganshin
Hello Magnus, Wednesday, January 31, 2007, 11:45:53 AM, you wrote: > in math classes in grade school. I doubt that we'll ever see functional > thinking tought alongside imperative thinking in lower grades in school. c=a*b e=c+d f=e*2 are you learned to write things in this way? in *my* school,

Re[2]: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Bulat Ziganshin
Hello Mark, Wednesday, January 31, 2007, 5:43:36 PM, you wrote: > You've completely lost me here. Order is /very/ important in functional > programming. Consider function composition: Prelude>> ((+1) . (*2)) 5 > 11 Prelude>> ((*2) . (+1)) 5 > 12 *evaluation* order isn't defined here. compiler c

Re[2]: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Bulat Ziganshin
Hello Mark, Wednesday, January 31, 2007, 7:30:33 PM, you wrote: > Ah, I may see my confusion then - I do see a natural ordering in my > Haskell expressions, and indeed evaluation order could be different so > long as the end result is the same, but I don't find that different to > imperative lang