<div dir="ltr">elixir has a very nice solution to this. not sure if elixir is an option on your project. If not, at least in theory, you could use parse transforms (which are a bit of a pain - then again elixir will get rid of a lot of these pains) to add the missing methods and redirect to default implementations.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 21, 2014 at 5:07 PM, Jay Nelson <span dir="ltr"><<a href="mailto:jay@duomark.com" target="_blank">jay@duomark.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We have created a behaviour with -callbacks, but would like to simplify<br>
the implementation by providing default implementations of some of the<br>
callbacks. Using erlang:function_exported/3 to test for a user-supplied<br>
callback and instead calling a default implementation may work, but the<br>
compiler will complain for the user-defined module if no callback is<br>
supplied. What is the recommended best practice for this situation?<br>
The best I can come up with is to document the default implementation<br>
and leave it up to the user-defined module to call that function or<br>
provide its own so that the callback is always present.<br>
<br>
jay<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br></div>