2009/11/25 Michael Mossey <m...@alumni.caltech.edu>: > I'm fairly new to Haskell, and starting to write some big projects. > Previously I used OO exclusively, mostly Python. I really miss the > "namespace" capabilities... a class can have a lot of generic method names > which may be identical for several different classes because there is no > ambiguity. > > In my musical application, many "objects" (or in Haskell, data) have a time > associated with them. In Python I would have an accessor function called > "time" in every class. > > So if I have objects/data note1, cursor1, and staff1, > > Python: > note1.time() > cursor1.time() > staff1.time() > > Haskell needs something like > note_time note1 > cursor_time cursor1 > staff_time staff1 > > which is a lot more visually disorganized.
It looks like you use record syntax. This is not bad per se, but you can use Haskell classes to get an OO feeling. Like that: class Time a where time :: a -> Time instance Time Note where time = note_time instance Time Cursor where time = cursor_time > What's worse, I have a moderate case of RSI (repetitive strain injury) so I > type slowly and depend on abbreviations a lot. I use the souped-up > abbreviation capabilities of Emacs. Let's say I have a field/member-variable > called orientedPcSet that is used across many classes. In Python, I can > create an abbreviation for that and it is useful many times. In Haskell, I > might need > > someType_orientedPcSet > someOtherType_orientedPcSet > thirdType_orientedPcSet Same here, I think. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe