Category Archives: erlang


OS/X 10.5.3, two workarounds

OS/X 10.5.3 has google contacts sync, but 1) only if you’ve connected to an ipod touch or iphone, and 2) only when you sync an ipod. Lifehacker has a workaround.
Second, for whatever reason, this update causes erlang R12B2 to bus error at startup if you’ve enabled Hipe. Bummer. Workaround (courtesy of Geoff […]

Erlang wish list

WSGI. I don’t want an apache replacement, or at least have to bootstrap one just to write a webapp. I’d much rather have something very simple and callback based to handle requests and output dynamic data (and push static data through something else. No offense to erlang on that score but …)

for loops in erlang

For loops in Erlang:

for(Max, Max, F) -gt; [F(Max)];
for(I, Max, F) -gt; [F(I)|for(I+1, Max, F)].

My I suggest instead either:

lists:each(lists:seq(Min, Max), F).

or:

for(I, Max, F) when I <= Max ->
  for_impl(I, Max, F, []).
for_impl(Max, Max, F, Acc) ->
  lists:reverse(Acc);
for_impl(I, Max, F, Acc) ->
  for_impl(I+1, Max, F, [F(I)|Acc].

The original version of this code will blow out the stack with non-trivial length […]