<div class="gmail_quote"><div class="Ih2E3d"><div>Looks like I managed to send this to Paul privately instead of the list as intended.  Gee, I love sucking at the internet.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
%% API<br>
-ifdef(NDEBUG).<br>
-export([foo/0]).<br>
-else.<br>
-compile([export_all, debug_info]).<br>
-endif.<br>
</blockquote></div><div><br>I'm not really sure how I feel about the export prototype list changing
on terms of a macro define.  The thing that gives me pause is the
importance of a compile in Erlang's module system: just compiling
something has some pretty major impact on its use in a live system. 
Still, it's not any worse than the things I'd already come up with.<br>
<br>I'm starting to think this Selective Export thing might be what I
want.  I don't see much talk of how it's done exactly, and when I
googled I got stuff from Eiffel and Haskell.  That said, what Eiffel
and Haskell have seem to be what I want.  I went digging through the
eeps looking for a discussion of what's intended, but didn't find one. 
I'm kind of a noob, here; where should I be looking to see what's
planned?<br>
<br>Am I right in believing we'd be seeing something like this?<br><br>-export([foo/0, foo/1]).<br>-export_to(some_module, [bar/0]).<br></div></div><br>That
sort of thing seems extremely desirable to me.  One of the biggest
problems I'm having with Erlang right now is a way to govern display at
the code level of facilities.  I'm very much a C++ mindset person, and
I'm very much in desire of some way to seal off access to a lot of
stuff that's just sitting out exposed right now.<br>
<br>Selective export would allow me to do the kind of closed-access
thing I'm used to from friend declarations, and if it worked with one's
own module, it'd provide me a way to make spawnable functions internal
only (something I really, really badly want) just by naming the module
in its own export clause.  <br>
<br>-module(protected_example).<br>-export_to(protected_example, [privateish_spawnable/0]).    % want badly<br><br>So,
pardon me please for speaking up at what's probably late in the game,
but where can I go to read about the current mindset for selective
export, and whether it's expected as a language feature?  (It would be
tremendously useful.)