This page describes breaking API changes between diagrams 0.6 and 0.7, along with explanations of how to migrate to the new 0.7 API.
Diagrams.Coordinates no longer exported by default
For better compatibility with
Diagrams.Coordinates module (which contains, among other things, the
(&) operator for constructing literal points and vectors) is no longer exported from
Diagrams.Prelude. You must now import
Diagrams.Coordinates explicitly in order to make use of it.
CircleFrac has been renamed
CircleFrac is retained as a deprecated synonym). This should really only affect you if you were using the
CircleFrac constructor; use the new
Turn constructor instead.
3 Trail refactoring
The single biggest breaking change is a big fundamental refactoring in the way that segments and trails work.
- Segments can now be either "closed" or "open". If you were directly dealing with segments before, you will now want to deal with "open" segments, which involves changing their type from (say)
Segment Open R2, and wrapping the final offset vector in an
Paths now contain
Located Trails instead of pairs of trails and points. If you were explicitly constructing a
Pathfrom such pairs, instead use the
atfunction to construct
PathLikeclass has become the
TrailLikeclass; the new
trailLikefunction takes a
Located Trailas an argument.
For more help with converting, see the user manual or ask for help in the #diagrams IRC channel on freenode.org.