[erlang-questions] "Fat" BEAMs?

Richard Carlsson carlsson.richard@REDACTED
Thu Oct 10 13:09:02 CEST 2013

This functionality has existed in Igor for the last 15 years or so:


The main drawback (apart from the obvious code duplication if you 
include the same module in a lot of other modules) is of course that 
reloading a single module of the included ones won't have any effect; 
you have to replace the whole blob each time.


On 2013-10-10 12:34 , Tony Rogvall wrote:
> Maybe give https://github.com/tonyrog/inline a try?
> /Tony
> On 10 okt 2013, at 11:56, Olivier BOUDEVILLE <olivier.boudeville@REDACTED
> <mailto:olivier.boudeville@REDACTED>> wrote:
>> Hi,
>> Let's suppose that, thanks to a parse-transform, we fetched
>> recursively from other modules most if not all code explicitly
>> callable from a given module, so that the full code (ultimately
>> calling only basic language constructs and BIFs) ends up in a single
>> (presumably big, unfolded, possibly inlined) AST.
>> Then, in  the prospect of native compilation (HiPe, possibly others
>> like ErLLVM), I imagine that not only we should get rid of the
>> overhead of inter-module calls, but we would also give to the compiler
>> the best full view on which it could operate and generate the best
>> code it could manage?
>> Has this approach already been attempted? Would it have some potential
>> interest?
>> Thanks in advance for any hint,
>> Best regards,
>> Olivier.
>> ---------------------------
>> 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.
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
>> http://erlang.org/mailman/listinfo/erlang-questions
> "Installing applications can lead to corruption over time. Applications
> gradually write over each other's libraries, partial upgrades occur,
> user and system errors happen, and minute changes may be unnoticeable
> and difficult to fix"
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list