Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-17 Thread wren ng thornton
Gregg Reynolds wrote: Imperative programmers also used it to describe programming patterns. Implementations of things like Observer/VIsitor etc. are ad-hoc, informal constructions; the equivalent in a functional language is a mathematical structure (feel free to fix my terminology). I don't thin

Re: categories and monoids (was: Re: [Haskell-cafe] Design Patterns by Gamma or equivalent)

2009-03-17 Thread Dan Piponi
On Tue, Mar 17, 2009 at 5:06 AM, Wolfgang Jeltsch wrote: > What is a “generalized monoid”? According to the grammatical construction > (adjective plus noun), it should be a special kind of monoid There's no such implication in English. The standard example used by linguists is "fake gun". -- Dan

RE: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-17 Thread Bayley, Alistair
> > Because Haskell is not OO, it is functional, I was > wondering if there is > > some kind of analogous "design pattern"/"template" type concept that > > describe commonly used functions that can be "factored out" > in a general > > sense to provide the same kind of usefulness that Design > Pa

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-17 Thread Gregg Reynolds
2009/3/11 Mark Spezzano : > I’m very familiar with the concept of Design Patterns for OOP in Java and > C++. They’re basically a way of fitting components of a program so that > objects/classes fit together nicely like Lego blocks and it’s useful because > it also provides a common “language” to ta

Re: categories and monoids (was: Re: [Haskell-cafe] Design Patterns by Gamma or equivalent)

2009-03-17 Thread Jonathan Cast
On Tue, 2009-03-17 at 13:06 +0100, Wolfgang Jeltsch wrote: > Am Dienstag, 17. März 2009 10:54 schrieben Sie: > > Wolfgang Jeltsch writes: > > > By the way, the documentation of Control.Category says that a category is > > > a monoid (as far as I remember). This is wrong. Category laws correspond >

categories and monoids (was: Re: [Haskell-cafe] Design Patterns by Gamma or equivalent)

2009-03-17 Thread Wolfgang Jeltsch
Am Dienstag, 17. März 2009 10:54 schrieben Sie: > Wolfgang Jeltsch writes: > > By the way, the documentation of Control.Category says that a category is > > a monoid (as far as I remember). This is wrong. Category laws correspond > > to monoid laws but monoid composition is total while category co

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-17 Thread Colin Paul Adams
> "Wolfgang" == Wolfgang Jeltsch writes: Wolfgang> By the way, the documentation of Control.Category says Wolfgang> that a category is a monoid (as far as I remember). This Wolfgang> is wrong. Category laws correspond to monoid laws but Wolfgang> monoid composition is total wh

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-17 Thread Wolfgang Jeltsch
Am Dienstag, 17. März 2009 05:09 schrieb wren ng thornton: > a...@spamcop.net wrote: > > Or to put it another way, category theory is the pattern language of > > mathematics. > > Indeed. Though, IMO, there's a distinction between fairly banal things > (e.g. monoids), Monoids aren’t a concept of ca

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-16 Thread wren ng thornton
a...@spamcop.net wrote: G'day all. Quoting wren ng thornton : > Most of the (particular) problems OO design patterns solve are > non-issues in Haskell because the language is more expressive. ...and vice versa. Some of the "design patterns" that we use in Haskell, for example, are to overcome

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-15 Thread ajb
G'day all. Quoting wren ng thornton : Most of the (particular) problems OO design patterns solve are non-issues in Haskell because the language is more expressive. ...and vice versa. Some of the "design patterns" that we use in Haskell, for example, are to overcome the fact that Haskell does

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-14 Thread Don Stewart
wren: > There also a number of "idioms" which are similar in scope to the idioms > that arise in other languages: using tail recursion, accumulators, > continuation-passing transformations, closures over recursion[6], > Schwartzian transforms, etc. > [6] For lack of a better name. I mean doi

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-14 Thread wren ng thornton
Mark Spezzano wrote: Because Haskell is not OO, it is functional, I was wondering if there is some kind of analogous “design pattern”/”template” type concept that describe commonly used functions that can be “factored out” in a general sense to provide the same kind of usefulness that Design Patt

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-11 Thread Sean Leather
Hi Mark, Because Haskell is not OO, it is functional, I was wondering if there is > some kind of analogous “design pattern”/”template” type concept that > describe commonly used functions that can be “factored out” in a general > sense to provide the same kind of usefulness that Design Patterns do

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-11 Thread Robin Green
The concept of "design pattern" tends not to be used by Haskell programmers - it brings a lot of baggage with it (like being formally documented in a particular way, being "proven" by being used in production several times, etc.) and it doesn't seem to be particularly useful for us in this heavywei

Re: [Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-11 Thread minh thu
2009/3/11 Mark Spezzano : > Hi, > > > > I’m very familiar with the concept of Design Patterns for OOP in Java and > C++. They’re basically a way of fitting components of a program so that > objects/classes fit together nicely like Lego blocks and it’s useful because > it also provides a common “lan

[Haskell-cafe] Design Patterns by Gamma or equivalent

2009-03-11 Thread Mark Spezzano
Hi, I’m very familiar with the concept of Design Patterns for OOP in Java and C++. They’re basically a way of fitting components of a program so that objects/classes fit together nicely like Lego blocks and it’s useful because it also provides a common “language” to talk about concepts, like Ab