Lambda the Ultimate

inactiveTopic Advanced Programming Techniques
started 6/1/2002; 12:57:58 PM - last post 6/8/2002; 1:09:42 PM
Ehud Lamm - Advanced Programming Techniques  blueArrow
6/1/2002; 12:57:58 PM (reads: 731, responses: 2)
Suppose you wanted to give a short tutorial on various cool programming techiques inspired by programming language research and/or programming language research. What topics would you cover, and which examples would you use? I am thinking about something like 2-3 hours (1 to 3 meetings).

How about closures, generators, h.o.f, and reflection?

Albert Y. C. Lai - Re: Advanced Programming Techniques  blueArrow
6/8/2002; 11:53:08 AM (reads: 741, responses: 1)
I didn't noticed this discussion topic until today. Higher-order functions and anonymous functions must certainly be covered, as even Python has them.

Another topic is type inference and the Hindley-Milner type system, which is surprisingly eye-opening to most programmers, who have only seen C-like type systems (static typing, compulsory type annotation) and Perl-like type systems (dynamic typing, no type annotation), and never imagined there could be a third alternative.

But I think the most important topic from the software engineering perspective is higher-order module. People flock to OOP because they need language support in structuring and architecting large-scale software, and before OOP there was only the inadequate first-order module. If they know higher-order module as well, they will see they have a choice.

andrew cooke - Re: Advanced Programming Techniques  blueArrow
6/8/2002; 1:09:42 PM (reads: 787, responses: 0)
What experience have you had of higher order modules? I'm interested because I never seemed to "click" with functors in ML (I'm not suggesting that HOMs aren't useful (I don't have anything like enough ML experience) - just trying to explain why I'd like to hear your experience).