Re: Why, for example, maps but array?

"Lloyd R. Prentice" <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <[email protected]>
Ah, thank you, Łukasz,

Got it.

All the best,

LRP

Sent from my iPad

> On Aug 15, 2021, at 5:21 AM, Łukasz Niemier <[email protected]> wrote:
> 
> 
>> 
>> But it surprises me that obvious functions like file:move/2
> 
> The problem is that such function is far from "obvious". If you look through many languages you will see, that rarely there is `move` function that moves the file from one location to another. Reason for that is simple - UNIX (I do not know how about Windows) do not have such function, instead there is `rename` function which indeed is present in Erlang [1]. That function has one great limitation - it works **only within single filesystem**. If you want to move file between different filesystems, then it will fail.
> 
> - But, there is `mv` command in shell.
> 
> You may ask. Yes, there is such command, but it operates in 2 different ways, depending on the locations of the files:
> 
> - If source and destination is on the same filesystem, then it just call `rename` and call it a day.
> - If source and destination is on different filesystems, then it reads source file, writes it in the destination (aka, does a copy of that file) and then removes the source.
> 
> So reasons for non-existence of `file:move/2` in Erlang is law of leaky abstractions. Nothing more, nothing less.
> 
> [1]: https://erlang.org/doc/man/file.html#rename-2
> 
> --
> 
> Łukasz Niemier
> [email protected]
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.