Lambda the Ultimate

inactiveTopic Felleisen: From Patterns to Programming Languages
started 10/13/2002; 6:01:37 AM - last post 10/14/2002; 2:53:02 PM
Ehud Lamm - Felleisen: From Patterns to Programming Languages  blueArrow
10/13/2002; 6:01:37 AM (reads: 852, responses: 5)
Felleisen: From Patterns to Programming Languages
The PPT slides for this talk are available.

Discusses local patterns (syntactic sugar) versus global patterns (essential language constructs). Felleisen agrees with the argument raised here often, that patterns should be incooperated into the programming language and be checked by the translator.

Scheme macros are mentioned as a way to implement patterns. Aspects may help with global patterns.


Posted to general by Ehud Lamm on 10/13/02; 6:02:53 AM

Michael Schuerig - Re: Felleisen: From Patterns to Programming Languages  blueArrow
10/14/2002; 2:04:59 AM (reads: 759, responses: 1)
(Disclaimer: I can't read PPT.)

Incorporating patterns into programming languages? Sounds good, but how are the motivation and consequences going to be incorporated? A pattern is not just a nice and concise abstraction of a common, more verbose piece of code. It is an essential part of a pattern that it makes you think about its applicability and mentions the considerations that help in making this judgment.

For example, Ruby's standard lib makes implementing the Observer pattern pretty easy. It doesn't tell when to use an Observer. It's the latter part that the pattern is for.

I'm all for the effort itself, I don't like calling it "incorporating patterns into programming languages".

Michael

Ehud Lamm - Re: Felleisen: From Patterns to Programming Languages  blueArrow
10/14/2002; 2:18:39 AM (reads: 782, responses: 0)
This wording is mine. I agree that it wasn't such a great choice of words.

Eugene Zaikonnikov - Re: Felleisen: From Patterns to Programming Languages  blueArrow
10/14/2002; 3:49:20 AM (reads: 745, responses: 0)
I agree that translator can't tell you when to use a particular pattern. But then, neither it knows if you should use, say, addition or subtraction in your particular piece of code.

What makes me wonder is whether incorporating patterns is a worthy effort at all. It is known that some programming languages don't need certain sets of design patterns; some people consider patterns as workarounds for deficiencies in programming languages. If so, is it really necessary to embed kludges into programming languages?

Chris Rathman - Re: Felleisen: From Patterns to Programming Languages  blueArrow
10/14/2002; 1:51:33 PM (reads: 684, responses: 1)
I view Patterns as a reuse problem - instead of reusing code, you're reusing technique. The idea of using Lisp macros seems similar in principle to generic programming and templates.

Nothing is more dangerous than a developer with a favorite pattern. They will tend to use it everywhere, appropriately or not.
--JimWeirich

Ehud Lamm - Re: Felleisen: From Patterns to Programming Languages  blueArrow
10/14/2002; 2:53:02 PM (reads: 717, responses: 0)
Both patterns and application frameworks are forms of design reuse. The great thing about frameworks is that they capture the reusable design as code (i.e., class hierarchy), which can make for more reliable reuse.