<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.18.1">
</HEAD>
<BODY>
I am learning haskell and i need some advice about writing functional-style code.<BR>
<BR>
Give the following code below, my question is - how do i setup a dependency of User on Common?<BR>
<BR>
Obviously what i have there is wrong, because a change in common (i know it's actually immutable) is not reflected in the version captured by User. I understand why my current approach has not a chance a of working, I am using it to, hopefully, illustrate my goal.<BR>
<BR>
Thanks for any suggestions<BR>
<BR>
&gt; data Common = Common {<BR>
&gt;                                 cName :: String,<BR>
&gt;                                 cValue :: Int<BR>
&gt;                                 } deriving (Show)<BR>
&gt; data User = User {<BR>
&gt;                                 uCommon        :: Common<BR>
&gt;                                 } deriving (Show)<BR>
&gt; makeWorld = (commons, users)<BR>
&gt;         where<BR>
&gt;         commons = [Common &quot;A&quot; 1, Common &quot;B&quot; 2]<BR>
&gt;         users        = [User (head commons)]<BR>
&gt;         <BR>
&gt; main = do<BR>
&gt;         let world = makeWorld<BR>
&gt;         putStrLn (show world)<BR>
<BR>
</BODY>
</HTML>