Skip to content

“This means something”

Last night in my Computer Language Design class I tuned out the professor after the first 5 minutes. It’s not that the class doesn’t interest me, it’s just that an involved discussion of the taxonomy of languages (presented by a man I can only describe as the stereotypical aging CPA) puts me to sleep. So instead I read ahead in the textbook. Actually I read the end of the textbook, the section on functional and logical languages.

So it suprised me this morning when reading the “Python Daily URL”:http://www.pythonware.com/daily to see “Bill”:http://llimllib.f2o.org/blog talking “about guards”:http://llimllib.f2o.org/blog/serve/entry/pygenerics .

Bill points to “Erlang”:http://erlang.org as a model for guards and generics. I have to confess complete ignorance regarding erlang. But I like what I saw in “Haskell”:http://www.haskell.org/. A brief example, defining the fact (factorial) function:

fact 0 = 1 -- zero step
fact n = n * fact (n-1) -- induction step

Haskell also has cool pattern matching and lazy evaluation. For example, you can create an infinite length list of even, positive integers with the following:

pos_ints = [2,4..]

I’m not sure what the “Pythonic” version of Haskell guards looks like, but the simplicity and elegance really appeals to me. And it seems sorta weird (in a cool way) that less than 12 hours after reading about functional languages, guards and generics, I find others talking about the same thing.

Categories: geek.

Comment Feed

No Responses (yet)



Some HTML is OK

or, reply to this post via trackback.