[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
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
chopped_onions.
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 you can't
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
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 (of
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 appeals to
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]
:)
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 classes in
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
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, but
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 of
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 = x
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 in society, I'd
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=c+d
f=e*2
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 _is_
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
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
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, no order
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. (Choosing
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
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
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).
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
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 reasoning
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
25 matches
Mail list logo