Calling internal functions - foo::bar() ?

Chandrashekhar Mullaparthi <>
Wed Mar 2 17:02:17 CET 2005


On 2 Mar 2005, at 14:40, Kostis Sagonas wrote:

> Chandrashekhar Mullaparthi wrote:
>
>> Me too! I've tried wrapping the -compile(export_all) directive in
>> -ifdef(debug)/-endif and then use a Makefile to compile with the debug
>> option or not. But then I can't deliver this system to test as it is
>> not what will go live. So this feature would be immensely useful.
>
> Being somebody who never used the -compile(export_all) directive
> in his life, I really would very much like to understand why this
> proposed addition would be "immensely useful" especially since
> currently there are very nice alternatives:
>
> 	erlc +export_all File
> or
> 	c(File, [export_all]).
>
> which nicely do the trick (whenever *really* needed).
>

Neither the compiler nor the source code is included in any(almost - 
except when we use yaws) system we produce. Our test team don't like us 
changing modules in the test installation (understandably) - so 
troubleshooting becomes a bit of a hassle. Typically, this is what I 
have to do if I want to troubleshoot in the testplant.

1. Take a backup of the existing module
2. Compile correct version of module with +export_all option
3. FTP to testplant (sometimes via two hops because security folks are 
sometimes Business Prevention Officers)
4. Load new module
5. Do stuff
6. Backout the patch

It'll be nice to be able to just do this.

5. Do stuff.


>> I'm afraid of removing the export_all from a module.
>
> Hint: don't add it in the first place.

Well, when there are 15 different services live and 40 erlang nodes to 
support each with different versions of software, it is easier said 
than done.

cheers
Chandru




More information about the erlang-questions mailing list