Export lists in modules

Bulat Ziganshin bulat.ziganshin at gmail.com
Thu Feb 23 07:31:41 EST 2006


Hello Simon,

Thursday, February 23, 2006, 2:41:11 PM, you wrote:

>>> modules M exports
>>> 
>>> class Eq a where
>>>   (==) :: a -> a -> Bool
>>> 
>>> data T :: * -> *
>>> f :: T -> Int
>>> mkT :: Int -> T
>>> 
>>> where -- implementation below here
>>> --------------------------------------

SM> The main difference is that I'm doing away with parentheses, commas, and
SM> export specifiers, and using layout and full declaration syntax instead.
SM> (I don't really want to discuss this very rough idea any more though,
SM> it's just a distraction, and I'm not sure I like it anyway).

i like this idea. text editor's extensions then should maintain this export
list. you just hit special key at the type/class/function definition to
(re)move it to export list

opposite alternative is to add "export" modifiers to all types of
declarations and use tools to extract interface part of .hs file

anyway, we can't establish an "ultimate" solution without use of
tools. all other variants, including current one, is just
half-solutions


-- 
Best regards,
 Bulat                            mailto:Bulat.Ziganshin at gmail.com



More information about the Haskell-prime mailing list