Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: regex and "Functional Programming"

by Zed_Lopez (Chaplain)
on Oct 23, 2004 at 15:06 UTC ( [id://401842]=note: print w/replies, xml ) Need Help??


in reply to Re: regex and "Functional Programming"
in thread regex and "Functional Programming"

There's a whole lot of iterating going on in functional languages; it's just going to tend to look like perl map or foreach loops and not like a while or C-style for loop.

Generally, though, where applicable, one's more likely to choose a recursive algorithm than an iterative one, which is likely what you meant, but, well, yours in pedantry and all.

Replies are listed 'Best First'.
Re^3: regex and "Functional Programming"
by FoxtrotUniform (Prior) on Oct 23, 2004 at 21:16 UTC
    There's a whole lot of iterating going on in functional languages; it's just going to tend to look like perl map or foreach loops and not like a while or C-style for loop.

    Heh. I can't speak for all functional languages, but the map function in Haskell is defined recursively in the Haskell Standard Prelude. So is iterate (which really means "repeat-compose"), as well as the folds. Hell, even the "iterative" sequenced monad operations are defined recursively. Mostly, this follows from the recursive definition of lists: a list is either an empty list, or a datum consed onto a list.

    There's probably some iteration going on in even the most standards-compilant Haskell implementation, but as far as I can tell none of it happens at the language level. Feel free to correct me, though, if you find any in the Prelude; I don't know it as well as I ought.

    Of course, the first example in my copy of ANSI Common Lisp isn't very "functional" at all:

    (defun sum (n) (let ((s 0)) (dotimes (i n s) (incf s i))))

    --
    Yours in pedantry,
    F o x t r o t U n i f o r m

    "Lines of code don't matter as long as I'm not writing them." -- merlyn

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://401842]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (8)
As of 2024-04-24 10:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found