What’s the erlangish way?
I’ve been developing with Python for so long that thinking in a pythonic way is very natural. For example, in developing pysmug I make extensive use of kwargs to keep the API simple but still capture the required, sometimes extensive, list of arguments for a method call.
For example, in Python, an albums_create method call might look like this:
>>> m.albums_create(title="This is the title", categoryId=22, public=False, description="My test album")
I think this reads quite well and is, I’d argue, the most pythonic way to model the API. So what’s the erlangish way?
I’m currently supporting this API for erlsmug:
albums_create(Title) ->
erlsmug_server:albums_create([{"Title", Title}]).
1> erlsmug:albums_create("This is the title").
I’m thinking of changing the albums_create function signature to take the list of tuples or a dictionary straight-away because I want to be able to create the album in one shot with any arbitrary set of parameters. Creating a method signature for each combination is obviously dumb — I miss keyword args.
It also seems from some perusing of source code there is a preference for a list of tuples over a dictionary. The dict API allows the easy transformation from list to dict and back so perhaps this is pretty normal for some language-specific reasons? Of course, duplicate keys are allowable in the list approach while not in the dictionary approach.
About this entry
You’re currently reading “What’s the erlangish way?,” an entry on I’m not here.
- Published:
- 5.1.08 / 5am
- Category:
- development

1 Comment
Jump to comment form | comments rss [?]