16 lines
424 B
Standard ML
16 lines
424 B
Standard ML
local (* make a sort function *)
|
|
val rec insert = fn s :string =>fn [] => [s]
|
|
| ll as h::t => if s<=h then s::ll else h::insert s t;
|
|
in
|
|
val rec sort = fn [] => [] | h::t => insert h (sort t)
|
|
end;
|
|
|
|
open Posix.FileSys ;
|
|
val istream = opendir "." ;
|
|
val ll = ref [readdir istream] ;
|
|
while ( isSome (hd (!ll)) ) do ( ll:=readdir istream :: !ll );
|
|
val result = List.map valOf (tl (!ll));
|
|
closedir istream ;
|
|
|
|
sort result;
|