[Haskell-cafe] How to organize code
Tim Chevalier
catamorphism at gmail.com
Mon Jan 28 02:27:00 EST 2008
On 1/27/08, L.Guo <leaveye.guo at gmail.com> wrote:
> Hi,
>
> How do you organize code ?
>
> Here is a sample.
> Acturally, I am thinking about using this plan.
>
> Any suggestions ?
>
> > -- BasicalType.hs
> > type Position = (Int,Int)
> > data Box = Box { pos :: Position }
> > data Chain = Chain { pos :: [Position] }
>
> > -- Object.hs
> > import BasicalType
> > class Object o where
> > pos :: o -> [Position]
>
> > -- Type.hs
> > import BasicalType
> > import Object
> > instance Object Box where
> > pos = return . BasicalType.pos
> > instance Object Chain where
> > pos = BasicalType.pos
>
> > -- Main.hs
> > import Type
> > ...
>
Be careful not to confuse Haskell's type class system with the idea of
a "class" in object-oriented programming. I suggest you read this
article:
http://trevion.blogspot.com/2007/02/snowball-chance.html
Cheers,
Tim
--
Tim Chevalier * http://cs.pdx.edu/~tjc * Often in error, never in doubt
"...It's a thin line between amateur and professional, a line mostly
emphasized by insecure professionals." -- Bob Franke
More information about the Haskell-Cafe
mailing list