[erlang-questions] dialyzer and behaviours
Wed Jul 16 15:55:12 CEST 2014
Thank you Sean for your response. The problem is, how to tell to dialyzer
that `my_db:create(Mod, Vals)'
is accepts only Mod's which implements `-behaviour(my_db)'? and not an
2014-07-16 17:41 GMT+04:00 Sean Cribbs <sean@REDACTED>:
> Your example will work if you are implementing some other module which
> uses my_db as its behavior:
> table -> ["hello, world"].
> On Wed, Jul 16, 2014 at 7:56 AM, Daniil Churikov <ddosia@REDACTED> wrote:
>> %% I apologize if you get this message second time, but initially I
>> posted it through google-groups
>> %% interface and discovered that it is not replicated to this mailing
>> Is there any way to write a spec for dialyzer that will tell that I
>> expect module of certain behaviour?
>> Simplified example:
>> -callback table() -> iolist().
>> %% Instead of `Mod :: atom()' I want something that will reflect that only
>> %% modules which implements `my_db' behaviour are allowed.
>> -spec create(Mod :: atom(), Vals :: [iolist(), ...]) -> iolist().
>> create(Mod, Vals) ->
>> Table = Mod:table(),
>> ["INSERT INTO ", Table, " VALUES (", string:join(Vals, ", "), ");"].
>> erlang-questions mailing list
> Sean Cribbs <sean@REDACTED>
> Software Engineer
> Basho Technologies, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions