On Wednesday, 18 December 2013 at 21:48:14 UTC, Dmitry Olshansky wrote:
4. Split modules at least into a package of with at least 2 parts:
- Meta (traits) - constraints, type definitions etc.
- API - functions, globals and other "meat" of the module.

Yes, yes, yes. This could also help with encapsulation, since private works across module boundaries. The type listing only has minimal functions for its interface, then other functions are used, with UFCS, from the meat module.

Reply via email to