16 lines
465 B
Haskell
16 lines
465 B
Haskell
procedure main()
|
|
every dir := "." | "./empty" do
|
|
write(dir, if isdirempty(dir) then " is empty" else " is not empty")
|
|
end
|
|
|
|
procedure isdirempty(s) #: succeeds if directory s is empty (and a directory)
|
|
local d,f
|
|
if ( stat(s).mode ? ="d" ) & ( d := open(s) ) then {
|
|
while f := read(d) do
|
|
if f == ("."|"..") then next else fail
|
|
close(d)
|
|
return s
|
|
}
|
|
else stop(s," is not a directory or will not open")
|
|
end
|