Use and optimization suggestions of erlang list, erlanglist
Erlang has two composite structures: tuple and list. The difference between the two is that the number of child elements of tuple is fixed and cannot be changed after declaration. The list is variable, you can use [H | T] to retrieve or insert new elements. In the previous article, I talked about tuple-related content. In this article, I will talk
And friends of the high concurrency, and once again involved in the Erlang,erlang from the family of Ericsson, has a very high stability of the virtual machine and Platform library, Facebook used it to implement the chat system, Amazon developed SimpleDB, The most amazing is the What ' sapp, the high concurrency of the processing mechanism is eye-catching, it is time to understand
Reprinted: http://www.cnblogs.com/me-sa/archive/2011/10/29/erlang0010.html
Erlang originated from the telecom industry. Joe Armstrong mentioned the design requirements of Erlang.Software maintenance should be performed without stopping the system. In practice, we also benefited a lot from this kind of continuous service hot update, and finally we don't need to wait until there is no one in the middle of the night to update again. So how do we do hot u
Erlang is a functional programming language with immutable state
The variable of Erlang is a one-time assignment variable (single-assignment variable)
In Erlang, the obtained value of a variable is the result of a successful pattern matching operation, = is a pattern matching operator
In Erlang, atoms are used to
Http://www.cnblogs.com/me-sa/archive/2011/07/20/erlang0006.htmlUsing tuple in Erlang, the order \ Number of data items is determined, and once the data item order is adjusted or the field is added or subtracted, it is easy to appear badmatch.At the same time some constants if hard-coded into the code, once the value changes, it is difficult to replace all reliable replacement values.These two data-plane changes, the corresponding solution in
What is Erlang?A "niche" language (ranking more than 50)
A functional language (a variable can be assigned only once)
A dynamic type language (the variable type is determined at runtime,CodeIt must be compiled before execution. It is different from Python and Ruby)
A strong language
A concurrency Oriented Language
Storm in a cup (published in 《ProgramClerk, issue 9 and 10), and the large-scale multiplayer online system that easily achieve
The process--process in Erlang is lightweight, and there is no sharing between processes. Looked at a lot of information, it seems that no one said that the lightweight process is what the concept, continue to find ... Gossip does not mention, into the concurrent programming world. This article is a study note, it can be said that "Concurrent programming in ERLANG," The fifth of a brief translation.
1. The
The following views are a bit biased, but a good articleThe world is the only one we are right, the others are all wrong. We (Erlang programmers) found the crux and solved the problem correctly, and all the others (non-Erlang) looked in the wrong direction and solved the wrong problem.The question that other people around the world is trying to solve is how to make existing programs run in parallel. until 2
Exit interaction mode: Ctrl + C and then press a; halt ().The command must be followed by a break '.' to be valid.% Comment out the current code to the end of the lineCompile ERL code C (modulename)
_ Represents any variableA variable can be assigned only once in its context (scope ).
For help: Use Erl-man XX in bash
File start format:-Module (modulename ).-Export ([funcname1/paranum,...]).
A Data Type in Erlang, which starts with a lowercase letter.
Document directory
Module
Module Summary
Description
Exports
Module
Module Summary
Description
Exports
Reprinted: http://agileprogrammer.blogspot.com/2006/08/erlang-abstract-form-module.html
In the previous article, we briefly described the basic components of abstract form. Now let's take a look at how to use abstract form to dynamically generate and modify a module.
In the first article, we explored
Label: Transferred from: http://blog.csdn.net/flyinmind/article/details/7740540 Erlang is used in the project, and MySQL is used as well. Convention, Google. However, according to the online said to do, some discrepancy, does not work, need to find their own, the following record my groping things. 1, download erlang-mysql-driver; : Https://github.com/dizzyd/erlang
There are only two mixed data types within Erlang: list and tuple, neither of which supports named access, so it is not possible to create associative arrays in PHP, Ruby, or Python (hash in Ruby) without additional libraries.
I can do this in Ruby:
Copy Code code as follows:
server_opts = {:p ort => 8080,: IP => ' 127.0.0.1 ',: Max_connections => 10}
This expression is not supported at the syntax level of
Erlang Installation
Online page http://www.erlang.org/download.html. Select the appropriate platform on the page. The proposed Erlang learning platform is Linux or UNIX.For Linux or UNIX-series platforms, download Souce File directly and compile the installation.
The code is as follows
Copy Code
wget http://www.erlang.org/download/otp_src_17.0.tar.gzTAR-XZVF otp_src_17.0.tar.gz
If nothing happens, test Erlang distribution between two machines. One is Windows XP, and the other is redhat9. Without detailed documents, you can find it and record it.
1. First, the implementation of distributed Erlang provides its own security mechanism to prevent unauthorized access to the Erlang system. The Erlang
Here is a few resources:Programming Erlang, by Joe Armstrong. A Good book, really teaching-the fundamentals of Erlang and hot the abstractions is built. Some people found it a bit dry and hard to follow. Joe Armstrong is the original creator of Erlang, along with Robert virding and Mike WilliamsErlang in practice, screencasts by Kevin Smith. He starts from scratc
An experiment was conducted in windows. Erlang shell is used to create 0.6 million Erlang processes, occupying more than 760 MB of memory. On average, each process occupies 1.27 KB of memory and the creation time of each process is about 4 microseconds. On a Linux server with much better configuration, use pthread to start a thread. The average creation time of each thread is 48 microseconds.
Check the info
Erlang itself provides an interface that can be used to check whether the module has an export function. This interface is Erlang: function_exported/3, but this interface is often unavailable. The problem is reproduced below:
1> erlang:function_exported(crypto,start,0).false2> crypto:start().ok3> erlang:function_exported(crypto,start,0).trueNote: The example does not mean that you must crypto: Start () to u
* Make sure there are no compilation warnings
* In Erlang, string is implemented by list. In 32-bit systems, the space of one character is 8 bytes (four values are saved and four pointer values are saved ). Therefore, the string speed is slow and the space usage is large.
* On the server, you always try your best to write tail-recursive functions.
* When '+ +' is used, the left list will be copied and added to the right list header. Therefore, it is b
http://blog.chinaunix.net/xmlrpc.php?r=blog/articleuid=25876834id=3300393Because in my work, the server Erlang and the client flash communication is to send binary data (protocol) to communicate, Erlang processing binary data is really convenient, in the free time to view and translate Erlang binary related to some of the documentation, There are, of course, plac
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.