-module(libmis).
-export([perms/1]).
perms([][];
perms(L) -> [ [H|T] || H <- L, T <- perms(L--[H])].
Eshell V5.7.4 (abort with ^G)
1> c(libmis).
{ok,libmis}
2> libmis:perms("123").
["123","132","213","231","312","321"]
3>
-module(libmis).
-export([perms/1]).
perms([][];
perms(L) -> [ [H|T] || H <- L, T <- perms(L--[H])].