{-# LANGUAGE NoMonomorphismRestriction #-}
import Diagrams.Prelude
import Diagrams.Backend.Cairo.CmdLine
{-
pts = [origin, P (1,0), P (1,1), P (2,1), P (2,2), P (3,2), P (3,3)]
curve = cubicSpline False pts
dot = circle 0.05 # fc black
dots = position (zip pts (repeat dot))
-}
circleP = arc (0::Rad) (tau::Rad)
d = stroke $ circleP <> reversePath circleP # scale 0.8
infVertices = map P [ (0,0), (0.3, 0.2), (0.6, 0), (0.3, -0.2)
, (0,0), (-0.3, 0.2), (-0.6, 0), (-0.3, -0.2)
]
inf = cubicSpline True infVertices # lw 0.05
main = defaultMain ((d # fc grey) <> inf)