Nettle allows networks of OpenFlow switches to be controlled using a high-level, declarative, and expressive language. It is implemented on a Haskell library that supports the OpenFlow protocol and provides an OpenFlow server.
You can find more information about Nettle at http://haskell.cs.yale.edu/other-projects/nettle/.