[erlang-questions] How to code against an interface rather than an implementation?

Chris Cook <>
Fri Aug 9 14:40:37 CEST 2013

Afternoon Daniil,

I'm not sure what your getting at, the module that the atom that
State#state.db refers to must export the calling function. Take a look at
this link [0] (Only the atomic names bit the second bit has been removed
from erlang) for more information about the basics of what is going on. The
State is a variable and evaluated like one that's why it is in ().

maybe an easier way of coding it would be.
-record(state, {db=mneisa_module});

M = State#state.db
M:get_content(Tbl, Id)


get_content(Tbl, Id) -> ....




On 9 August 2013 12:56, Daniil Churikov <> wrote:

> Does anybody know could *dialyzer* break through such dynamic module
> construction, like *Chris Cook* wrote? Is it able to know that *
> State#state.db* module do not export *get_content/2* function, or it's
> contract is wrong?
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130809/c3244078/attachment.html>

More information about the erlang-questions mailing list