<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Agreed,<div><br></div><div>We are making use of Ulf's exprecs module for this precise reason.</div><div><br></div><div>Matt<br><br><div><div id="SkyDrivePlaceholder"></div>> Date: Sat, 19 May 2012 17:26:01 +0200<br>> From: kostis@cs.ntua.gr<br>> To: erlang-questions@erlang.org<br>> Subject: [erlang-questions] Robustness problems when using records [WAS: Re: Question/Alternative on Frames Proposal     [Warning: Long]]<br>> <br>> On 05/18/2012 02:21 AM, Tom Parker wrote:<br>> > ....<br>> ><br>> > Where I think we would vehemently agree: I expect Erlang to be robust.<br>> > That's why I'm even here. An issue with records where you can compile<br>> > two files (using the same .hrl) and end up with a result that (a)<br>> > compiles, (b) doesn't produce an error and (c) produces the wrong<br>> > answer... is a serious issue. It distinctly shows the shortcomings of<br>> > records.<br>> <br>> Not really related to the frame discussion, but I would like to point <br>> out that the above statement is wrong. The situation you describe does <br>> not show shortcomings of records; instead it shows shortcomings of <br>> programming with .hrl files and without an appropriate 'make'-like <br>> utility to track dependencies between files.<br>> <br>> Records are not without problems, but IMO this is not one of them. This <br>> is a problem of using .hrl files and choosing to program in a way which <br>> is not disciplined and thus error prone. There is a very simple way of <br>> avoiding this problem that IMO is a very nice way of programming: Use <br>> records as abstract data types and have them in a single module that <br>> exports appropriate getters and setters for manipulating fields of the <br>> record. If, for whatever reason, you do not like this way of using <br>> records and want the ability to perform pattern matching and field <br>> extraction in more than one module as you do today with records, better <br>> make sure you use an appropriate Makefile (or equivalent) for compiling <br>> your application. It's not the fault of record syntax if you do not use <br>> such a mechanism! (Makefiles are technology of the 70's after all...)<br>> <br>> Kostis<br>> _______________________________________________<br>> erlang-questions mailing list<br>> erlang-questions@erlang.org<br>> http://erlang.org/mailman/listinfo/erlang-questions<br></div></div>                                          </div></body>
</html>