Given a Haskell "record type" :-<div><br></div><div><div><font class="Apple-style-span" face="'courier new', monospace"> data Test </font></div><div><font class="Apple-style-span" face="'courier new', monospace"> = Test {</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> name :: String,</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> value :: Int</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> }</font></div><div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> test = Test {</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> name = "test",</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <span class="Apple-tab-span" style="white-space:pre">        </span> value = 1</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> }</font></div><div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> main :: IO ()</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> main = do</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> putStrLn (name test)</font></div><div>
<br></div><div>Are "name" and "value" in the global name space, as the following gives an error "Multiple declarations of `name'" :-</div><div><br></div><div><font class="Apple-style-span" face="'courier new', monospace"> name :: String -> String</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> name s = s</font></div></div><div><br></div><div>Is there any way round this ?</div><div><br></div><div>Many thanks in advance,</div><div><br>
</div><div>Aaron</div><div><br></div>