> I believe these are the top things we could do to realize an API. They > all feed into each other, too, so no task is too small. Plus, we would > need to do most of this anyway if we are to start peeling things off > into separate packages.
I believe the scope of the mentioned things is too broad. In my opinion, these are nice to have kind of things rather than top priority. I'd suggest to focus. What is the problem that you're trying to solve? Making the API, right? Which of the mentioned things stop that from happening? > * clean up long lines Not really a blocker. > * break functions into smaller pieces when appropriate Ditto. > * combine related bits of code into modules Only if it's essential for making the API. > * make a deeper module-dependency tree with better isolation between > disparate branches Same. > * clean up types (remove IO, Handler, and Entity from top-level types, > whenever possible) I'd start from here because it's already a problem. For instance, DB cannot be used in some parts of the testsuite. It's essential for the API for the same reason. After you change the types, they'll indicate what needs to be changed to build the project. A small change that makes a huge impact: a good first step. > * create Yesod subsites for components like the wiki, the discussion > system, the notification system Again, depends on whether it's essential or not. To summarize: think of what you need from the API and what is the shortest (and cleanest) way to make it happen instead of changing everything just to build the perfect API. _______________________________________________ Dev mailing list [email protected] http://lists.snowdrift.coop/mailman/listinfo/dev
