[erlang-questions] The display/1Gotcha

Lukas Larsson garazdawi@REDACTED
Tue Jan 25 18:04:56 CET 2011


Hi,

In the version of Erlang that I'm running right now (R14B02), display/1
without the erlang module prefix causes a compilation error. Also as far as
I can tell by the documentation (if it is correct) it never has been auto
imported,
http://www.erlang.org/documentation/doc-5.0.1/lib/kernel-2.6.1/doc/html/erlang.html#erlang:display%1.

What version of Erlang are you compiling with? are you doing any special
preprocessing of the source code?

Lukas

On Tue, Jan 25, 2011 at 4:32 PM, Olivier BOUDEVILLE <
olivier.boudeville@REDACTED> wrote:

> Hi,
>
> Wouldn't it be nice if erlang:display/1 did not silently shadow any
> user-defined display/1? I have been bitten more than once by this.
>
> Currently, defining in a module display/1 and calling it from another
> function directly, without mentioning a module (ex: 'f(Term) ->
> display(Term).') will call erlang:display/1instead of calling the
> lesser-astonishing ?MODULE:display/1.
>
> As erlang:display/1is not so very well-known and display is a rather
> common verb, maybe this would deserve forcing its call with an explicit
> module prefix (i.e. 'erlang:display(Term)'; if it is possible not to
> auto-import it) or at least issue a warning like "warning: local function
> display/1 will be shadowed by erlang:display/1"?
>
> Best regards,
>
> Olivier Boudeville.
> ---------------------------
> Olivier Boudeville
>
> EDF R&D : 1, avenue du Général de Gaulle, 92140 Clamart, France
> Département SINETICS, groupe ASICS (I2A), bureau B-226
> Office : +33 1 47 65 59 58 / Mobile : +33 6 16 83 37 22 / Fax : +33 1 47
> 65 27 13
>
>
>
> Ce message et toutes les pièces jointes (ci-après le 'Message') sont
> établis à l'intention exclusive des destinataires et les informations qui y
> figurent sont strictement confidentielles. Toute utilisation de ce Message
> non conforme à sa destination, toute diffusion ou toute publication totale
> ou partielle, est interdite sauf autorisation expresse.
>
> Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de
> le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou
> partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de
> votre système, ainsi que toutes ses copies, et de n'en garder aucune trace
> sur quelque support que ce soit. Nous vous remercions également d'en avertir
> immédiatement l'expéditeur par retour du message.
>
> Il est impossible de garantir que les communications par messagerie
> électronique arrivent en temps utile, sont sécurisées ou dénuées de toute
> erreur ou virus.
> ____________________________________________________
>
> This message and any attachments (the 'Message') are intended solely for
> the addressees. The information contained in this Message is confidential.
> Any use of information contained in this Message not in accord with its
> purpose, any dissemination or disclosure, either whole or partial, is
> prohibited except formal approval.
>
> If you are not the addressee, you may not copy, forward, disclose or use
> any part of it. If you have received this message in error, please delete it
> and all copies from your system and notify the sender immediately by return
> message.
>
> E-mail communication cannot be guaranteed to be timely secure, error or
> virus-free.
>


More information about the erlang-questions mailing list