Thu Jan 28 20:52:11 CET 2021
On 1/28/21 4:11 AM, Richard Carlsson wrote:
> Den tors 28 jan. 2021 kl 11:23 skrev Loïc Hoguin <essen@REDACTED
> By the way, if annotations are going to be a thing, it might be a
> idea to make them more general so we can annotate other things,
> such as
> "pure function" / "side effect function" or "local send" / "remote
> send". I would personally love to easily identify message sends to
> remote nodes.
> These are also interesting things - maybe not inline but perhaps as
> keywords on function definitions; we had some ideas about marking
> functions as pure (for guards) back in the HiPE project, for example.
> Like any kind of strict typing, you then get into the question about
> such functions in other modules: If they can only be used locally, the
> feature is perhaps too limited to be worth it. To put them in other
> modules, you'd probably need to do name mangling like e.g. when
> linking C++, to ensure both caller and callee are following the
> conventions, and that might get too messy. I don't know anyone who has
> prototyped that, though, so it's not clear how it would look and feel.
I added a description at https://bugs.erlang.org/browse/ERL-373 for
using pure/impure instead of spec for Erlang type specifications (to
provide the concept of a function type). Adding it as something for
dialyzer to evaluate would be helpful. I don't believe it is very
important to make it easy to create your own guard functions, but this
could be a step in that direction.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions