[erlang-questions] Checking Types at Runtime

Tristan Sloughter tristan.sloughter@REDACTED
Wed Jul 13 01:26:19 CEST 2011

I'm pretty sure this isn't possible but I wanted to be sure before working
around the lack of it.

if I have a type and record like:

-type password() :: binary().

-record(user, {username :: binary(),
                    password  :: password()}.

At run time there is no way to tell a field is suppose to be of some type
during runtime, right?

Basically I'd like to be able to have generic or generated create functions
for records that may have to modify arguments (like a password has to be
encrypted from the string provided) when creating the record. So the create
function would pass each field, its value and its type to a transform
function that matches on type and returns the appropriately modified value.

Any ideas on how to do this with type definitions or do I need to use tuples
and an atom like {Type, Value} for the value of every field to achieve this?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20110712/dbc0a1a9/attachment.htm>

More information about the erlang-questions mailing list