Boost logo

Boost :

From: Vesa Karvonen (vesa_karvonen_at_[hidden])
Date: 2002-04-13 05:28:24


Aleksey Gurtovoy:
>Joel de Guzman:
> > > Are you familiar with functional programming?
> >
> > What's the point of this question? To gauge my level of competence
> > to form an opinion?
>
>No, not at all. I just didn't want to reveal the second question
>before you answer the first one :). The argument about "simplicity" of
>pattern-matching-self-recursive-partial-specialized 'count_if'
>implementation is partially built around the assumption that it's easy
>to understand for somebody with functional programming background. To
>me, functional programming primitives like 'fold' et al. seem much
>more important concepts than any esoteric low-level patterns matching.

FWIW, IMO, Aleksey is right here, and people who don't understand the
purpose of higher order sequence manipulation functions should really read
some book on functional programming.

I have been programming in Ocaml for the past 7 months. During that time, I
seem to have written one higher order function that used pattern matching
and recursion on lists. That particular function isn't used in the current
code base. On the other hand, I've used standard library higher order
functions like map, fold_left & iter hundreds of times.

If you look at a text book on functional programming, you will find that
pattern matching (on lists) and primitive recursion are typically presented
before higher order library functions for list manipulation. This is for
pedagogical reasons. Browsing later chapters of the book, you will find that
it will use more and more higher order functions rather than pattern
matching and primitive recursion.

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk