“Two principal aims of my visit to St Andrews were to get familiar with package design and developing a parallel implementation of existing sequential code. Secondary objectives included discussing the upcoming software carpentry workshop and GAP days in Manchester in November, GAP’s built-in and user-contributed profiling features and creating new objects and methods for them.
We focused on the *philosophy* of the package design good-practice as is usually practiced in the GAP community, and Alexander said this will appear shortly as a blog post on his website; I’ve volunteered to help develop a hands-on tutorial in creating a package using the “example” package as a template. As far as parallel computing goes, we studied the shared-memory model implemented in HPC-GAP and the distributed model that SCSCP package is built around, and implemented some of my code in both so I have now a working example in each.
My secondary objectives were all happily satisfied at least in part. The one thing that we didn’t cover fully was profiling, and Alexander suggested that perhaps this was a sensible subject for a tutorial at the upcoming GAP days.”