[erlang-questions] Illegal Guard?

Unix One <>
Thu Feb 11 17:30:48 CET 2016


On 02/10/2016 11:01 PM, Richard A. O'Keefe wrote:
> I believe I mentioned that purity is not sufficient.
> f(X) -> f(X).
> is pure.  But it is not bounded, and boundedness is of practical
> importance.

I understand. I was merely replying to the last point about retaining 
purity after hot loading.

> We *could* have declarations like that.  Currently we don't.
> There are some technical problems which could probably be resolved.
> One of them is "what does it mean to call a function pure if it is being
> traced?"
>
> Actually, the simplest thing would be to adopt abstract patterns, which
> are *necessarily* pure and bounded, so there is nothing extra to
> check/enforce.
>
> There have been programming languages with 'effects' as part of their
> type system.  To a degree, Mercury and Clean do that now.  Erlang has a
> type system now, which it didn't before.  Maybe in another decade it will
> have a type+effects system.

Interesting... I'll go do some more reading. Thank you.



More information about the erlang-questions mailing list