Imagine I want to write an application which deals with podcast feeds. To store the parsed information from such a feed, I would write something like this:
d
Cyclic dependencies are actually really easy in Haskell. In a let
statement, any binding's definition can refer to any other binding.
let pc = Podcast "the name" [ep1, ep2]
ep1 = Episode "first" pc
ep2 = Episode "second" pc
Laziness will take care of this for you.
As a general rule though, a DBMS is the best choice for this sort of information.