Recursive list comprehension

Vlad Dumitrescu vlad_dumitrescu@REDACTED
Fri Jan 13 12:22:22 CET 2006

> I will rephrase it a bit. Obviously my original version was 
> wrong as trans is never given a list. That would mean to me 
> that trans would never terminate. Why does it return [] then?

It terminates because when it gets an argument of [{st, r, []}], the
comprehension is applied and it returns [], of course.
> Ignoring the position of the flash light makes no difference. 
> This still works:
> trans({st, r, []}) ->
>      [{[], 0}];

This is because it can't be on the left side without any toy, unless it is
allowed to throw it to the other side after the batteries are dead :-)


More information about the erlang-questions mailing list