[erlang-questions] some language changes
Mats Cronqvist
mats.cronqvist@REDACTED
Thu May 31 16:51:06 CEST 2007
ok wrote:
> On 31 May 2007, at 1:51 am, Mats Cronqvist wrote:
> [1. simplify the language]
> [2. replace the preprocessor]
[discussion about ifdefs]
i would be satisfied it the conditionals were left in, as long as the parser
runs before the preprocessor.
> [3. Replace type guards by ::constraints on variables in patterns]
> (a) This proposal makes the language more complicated.
???
> (b) It makes some code more readable, but it makes other code
> less readable.
example?
> (c) You STILL need type guards when there is a call to element,
> hd, or tl in a guard, e.g.,
> f(N, T) when is_pid(element(N, T)) -> ...
yes, that would have to go. i find it hard to believe there's a lot of code
like that out there though.
> (d) You STILL need type guards when a guard is disjunctive, e.g.,
> f(X) when is_record(X, update) ; is_record(X, delete) -> ...
i guess you'd have to do this instead;
f(X::record(update)) -> real_f(X);
f(X::record(delete)) -> real_f(X).
real_f(X)->...
longer, but not (much) harder on the eyes. probably not a very common pattern
either.
mats
More information about the erlang-questions
mailing list