* Ben Gamari <[email protected]> [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 [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
