Posted By: Charles | Dec 17th, 2009 @ 5:00 PM | 40,194 Views | 16 Comments
We've kicked off C9 Lectures with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. Erik Meijer (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders).

We will release a new chapter in this series every Thursday.

In Chapter 12, Lazy Evaluation, Dr. Meijer takes us on a journey into the world of order of evaluation (when expressions are evaluated). In the case of lazy evaluation, computation is delayed until the result of the computation is known to be required.

Most programming languages that most of you use day to day use eager or strict evaluation, which is the opposite of lazy evaluation. In the strict evaluation world, expressions are evaluated as soon as they are bound to a variable (this is also known as greedy evaluation). In Haskell, laziness is first class!

Tune in. Learn and enjoy!
Rating:
10
0

So this wonderful series draws to a close on Christmas eve 2009, does that mean on Christmas day we get Haskell .NET? Wink

exoteric
exoteric
embarassingly sequential

$! - Talk about bang for the buck ("show me the money"), just in time for christmas Smiley

 

It's nice to know when to introduce strictness. As for how lazy evaluation deals with this accumulation, isn't that a matter of choice on part of the compiler writer? I would assume that is what "strictness analysis" is for. Looking closer...

 

This lambda book looks nice to have as well.

 

(End of lazy rewriting of post-)

It has been a great journey learning about functional programming in Haskell. To bad I’m going to be out of the country (no internet) for the last lecture Sad

chudq
chudq
Life is beautiful, and sharing is wonderful!

I'll be out too for the last lecture. Hope I'll be able to watch it in China. Happy holidays and wishing great 2010 New Year!

exoteric
exoteric
embarassingly sequential

I hope the lectures continue from time to time after this one is done. It would be cool with an audience (local or otherwise) of a select few (one or more) that can ask the right questions at the end, having witnessed the lecture, just to make the experience more interactive. But this has been a truly great initiative. In a typical Channel 9 video you learn something but here the amount of knowledge density is greater (sans the interactive Meijer-Beckman combo which also has great knowledge density, sometimes too great heh.)

 

By the way Erik, have we caught you doing destructive updates of the whiteboard? Wink

Richard.Hein
Richard.Hein
... my guitar gently weeps ...

I thought I understood lazy evaluation, but I didn't.  Very enlightening.  Thanks!

Charles and Erik,

Does the series end on Xmas eve!?? What a strange coincidence indeed!

Absolutely fantastic series; all developers should make an effort to understand functional programming in general and haskell in particular. I think it broadens your horizons and makes you a better professional.

Thanks again for these lectures!

 

Thanks so much everybody for the enthusiastic reception of the lecture series.

 

I promised Charles to write a book on Rx and lecture about it on Channel 9. What I will probably do instead is lecture about it on Channel 9 and then write each chapter.

You're writing a book on Rx Erik? Awesome. I'll take my place in the long queue of folks offering to act as technical reviewers - although I suspect you won't be short of 'in house' offers. Over the past 18 months, in large part because of the conversations and lectures from yourself and Brian I've found that "composition" has become my new programming mantra. Hope you have a great holiday and a brilliant 2010.

Microsoft Communities