<font size=2 face="sans-serif">Hello again,</font>
<br>
<br><font size=2 face="sans-serif">Thanks Richard, another solution indeed.
15 years ago, wow!</font>
<br>
<br><font size=2 face="sans-serif">Regarding the replacement drawback,
it could be seen also as a nice feature, allowing an indefinite number
of versions of the same intermediate, inlined modules to coexist peacefully.</font>
<br>
<br><font size=2 face="sans-serif">Thanks again,<br>
<br>
Olivier.<br>
---------------------------<br>
Olivier Boudeville<br>
<br>
EDF R&D : 1, avenue du Général de Gaulle, 92140 Clamart, France<br>
Département SINETICS, groupe ASICS (I2A), bureau B-226<br>
Office : +33 1 47 65 59 58 / Mobile : +33 6 16 83 37 22 / Fax : +33 1 47
65 27 13</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>carlsson.richard@gmail.com</b>
</font>
<br><font size=1 face="sans-serif">Envoyé par : erlang-questions-bounces@erlang.org</font>
<p><font size=1 face="sans-serif">10/10/2013 13:09</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">A</font></div>
<td><font size=1 face="sans-serif">erlang-questions@erlang.org</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Objet</font></div>
<td><font size=1 face="sans-serif">Re: [erlang-questions] "Fat"
BEAMs?</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2>This functionality has existed in Igor for the last
15 years or so:<br>
<br>
   </font></tt><a href="http://www.erlang.org/doc/man/igor.html#parse_transform-2"><tt><font size=2>http://www.erlang.org/doc/man/igor.html#parse_transform-2</font></tt></a><tt><font size=2><br>
<br>
The main drawback (apart from the obvious code duplication if you <br>
include the same module in a lot of other modules) is of course that <br>
reloading a single module of the included ones won't have any effect; <br>
you have to replace the whole blob each time.<br>
<br>
     /Richard<br>
<br>
On 2013-10-10 12:34 , Tony Rogvall wrote:<br>
> Maybe give </font></tt><a href=https://github.com/tonyrog/inline><tt><font size=2>https://github.com/tonyrog/inline</font></tt></a><tt><font size=2>
a try?<br>
><br>
> /Tony<br>
><br>
> On 10 okt 2013, at 11:56, Olivier BOUDEVILLE <olivier.boudeville@edf.fr<br>
> <</font></tt><a href=mailto:olivier.boudeville@edf.fr><tt><font size=2>mailto:olivier.boudeville@edf.fr</font></tt></a><tt><font size=2>>>
wrote:<br>
><br>
>> Hi,<br>
>><br>
>> Let's suppose that, thanks to a parse-transform, we fetched<br>
>> recursively from other modules most if not all code explicitly<br>
>> callable from a given module, so that the full code (ultimately<br>
>> calling only basic language constructs and BIFs) ends up in a
single<br>
>> (presumably big, unfolded, possibly inlined) AST.<br>
>><br>
>> Then, in  the prospect of native compilation (HiPe, possibly
others<br>
>> like ErLLVM), I imagine that not only we should get rid of the<br>
>> overhead of inter-module calls, but we would also give to the
compiler<br>
>> the best full view on which it could operate and generate the
best<br>
>> code it could manage?<br>
>><br>
>> Has this approach already been attempted? Would it have some potential<br>
>> interest?<br>
>><br>
>> Thanks in advance for any hint,<br>
>> Best regards,<br>
>><br>
>> Olivier.<br>
>> ---------------------------<br>
>> Olivier Boudeville<br>
>><br>
>> EDF R&D : 1, avenue du Général de Gaulle, 92140 Clamart, France<br>
>> Département SINETICS, groupe ASICS (I2A), bureau B-226<br>
>> Office : +33 1 47 65 59 58 / Mobile : +33 6 16 83 37 22 / Fax
: +33 1<br>
>> 47 65 27 13<br>
>><br>
>><br>
>> Ce message et toutes les pièces jointes (ci-après le 'Message')
sont<br>
>> établis à l'intention exclusive des destinataires et les informations<br>
>> qui y figurent sont strictement confidentielles. Toute utilisation
de<br>
>> ce Message non conforme à sa destination, toute diffusion ou toute<br>
>> publication totale ou partielle, est interdite sauf autorisation
expresse.<br>
>><br>
>> Si vous n'êtes pas le destinataire de ce Message, il vous est
interdit<br>
>> de le copier, de le faire suivre, de le divulguer ou d'en utiliser<br>
>> tout ou partie. Si vous avez reçu ce Message par erreur, merci
de le<br>
>> supprimer de votre système, ainsi que toutes ses copies, et de
n'en<br>
>> garder aucune trace sur quelque support que ce soit. Nous vous<br>
>> remercions également d'en avertir immédiatement l'expéditeur par<br>
>> retour du message.<br>
>><br>
>> Il est impossible de garantir que les communications par messagerie<br>
>> électronique arrivent en temps utile, sont sécurisées ou dénuées
de<br>
>> toute erreur ou virus.<br>
>> ____________________________________________________<br>
>><br>
>> This message and any attachments (the 'Message') are intended
solely<br>
>> for the addressees. The information contained in this Message
is<br>
>> confidential. Any use of information contained in this Message
not in<br>
>> accord with its purpose, any dissemination or disclosure, either
whole<br>
>> or partial, is prohibited except formal approval.<br>
>><br>
>> If you are not the addressee, you may not copy, forward, disclose
or<br>
>> use any part of it. If you have received this message in error,
please<br>
>> delete it and all copies from your system and notify the sender<br>
>> immediately by return message.<br>
>><br>
>> E-mail communication cannot be guaranteed to be timely secure,
error<br>
>> or virus-free.<br>
>><br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> erlang-questions@erlang.org <</font></tt><a href="mailto:erlang-questions@erlang.org"><tt><font size=2>mailto:erlang-questions@erlang.org</font></tt></a><tt><font size=2>><br>
>> </font></tt><a href="http://erlang.org/mailman/listinfo/erlang-questions"><tt><font size=2>http://erlang.org/mailman/listinfo/erlang-questions</font></tt></a><tt><font size=2><br>
><br>
> "Installing applications can lead to corruption over time. Applications<br>
> gradually write over each other's libraries, partial upgrades occur,<br>
> user and system errors happen, and minute changes may be unnoticeable<br>
> and difficult to fix"<br>
><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> erlang-questions@erlang.org<br>
> </font></tt><a href="http://erlang.org/mailman/listinfo/erlang-questions"><tt><font size=2>http://erlang.org/mailman/listinfo/erlang-questions</font></tt></a><tt><font size=2><br>
><br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
erlang-questions@erlang.org<br>
</font></tt><a href="http://erlang.org/mailman/listinfo/erlang-questions"><tt><font size=2>http://erlang.org/mailman/listinfo/erlang-questions</font></tt></a><tt><font size=2><br>
</font></tt>
<br><p></p>

<p><br>
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.</p>

<p>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.</p>

<p>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.<br>
____________________________________________________</p>

<p>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.</p>

<p>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.</p>

<p>E-mail communication cannot be guaranteed to be timely secure, error or virus-free.</p>