Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^3: regex and "Functional Programming"

by FoxtrotUniform (Prior)
on Oct 23, 2004 at 21:16 UTC ( #401887=note: print w/ replies, xml ) Need Help??


in reply to Re^2: 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.

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


Comment on Re^3: regex and "Functional Programming"
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (10)
As of 2015-07-02 10:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (33 votes), past polls