* Ben Gamari <bgamari.f...@gmail.com> [2013-09-17 10:03:41-0400] > Another approach might be to introduce some notion of a name list which > can appear in the export list. These lists could be built up by either > user declarations in the source module or in Template Haskell splices > and would serve as a way to group logically related exports. This > would allow uses such as (excuse the terrible syntax), > > module HelloWorld ( namelist MyDataLenses > , namelist ArithmeticOps > ) where > > import Control.Lens > > data MyData = MyData { ... } > makeLenses ''MyDataLenses > -- makeLenses defines a namelist called MyDataLenses > > namelist ArithmeticOps (add) > add = ... > > namelist ArithmeticOps (sub) > sub = ...
Hi Ben, Isn't this subsumed by ordinary Haskell modules, barring the current compilers' limitation that modules are in 1-to-1 correspondence with files (and thus are somewhat heavy-weight)? E.g. the above could be structured as module MyDataLenses where data MyData = MyData { ... } makeLenses ''MyData module HelloWorld (module MyDataLenses, ...) where ... Roman
signature.asc
Description: Digital signature
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe