This is a 12 page booklet/pdf from @rvirding, and here’s a post he wrote about it on (from EF):
Related: Robert’s interview here is worth checking out too - he talks about the Erlang Rationale and quite a bit more
This is a 12 page booklet/pdf from @rvirding, and here’s a post he wrote about it on (from EF):
Related: Robert’s interview here is worth checking out too - he talks about the Erlang Rationale and quite a bit more
I can’t get access to Google Drive in China. sad~~ Is this article available anywhere else ?
I’ve uploaded a copy to the forum for you, please let me know when you’ve downloaded it and I’ll remove it
I have downloaded it, thank you very much !
Wonderful article ! Here are something that impressed me:
The reason why Port is designed as a different term from Pid.
We finally decided to make them a separate data type as we felt that
there could be times when it might be necessary to be able to detect if we were
communicating with a process or a port
And the fact that Erlang has no variable scoping (which I didn’t realize)
One of the things which Erlang inherited from its Prolog beginnings was its variable
scoping, or rather lack of variable scoping.
Actually I like the lacking of variable scoping. I know fun
expression and list comprehension can create scope inside function, which make things a little bit non-consistent.
But compared to other languages, who have let
, {}
, begin...end
for creating sub-scoping, Erlang is still much simpler as function is the only way to create a scope.
(I always consider list comprehension as a plugin-feature of a language because they look so different and I rarely use it in my code)
I learned how to use list comprehensions as a side effect of learning how to use the qlc
module to simplify Mnesia queries. I then realised I could reapply this knowledge to Python.
Yes ~ List comprehension is indeed convenient and useful, but I just can’t enjoy the idea. I mean, recursion is a beautiful idea, while list comprehension is not. I use qlc when manipulating Mnesia, but I can’t say I like it, it more like there is no better choice so I have to use it.