版权声明 :欢迎转载,但请注明来源地址。
更新时间 :2007-11-12
注意事项 1)
Erlang Classics
Getting Start with Erlang
Making reliable distributed systems in the presence of software errors
Concurrent Programming in Erlang, Part I
Programming Erlang
EUC 07 Erlang WorkShop
6) (此部分来自 krzycube 的贡献)
Commercial Applications of Multi-core at Ericsson
英文版[暂缺] 7) by H. Nilsson.
Extended Process Registry for Erlang
A Language for Specifying Type Contracts in Erlang and its Interaction with Success Typings
Introducing Records by Refactoring
Towards Hard Real-Time Erlang
Programming Distributed Erlang Applications: Pitfalls and Recipes
Timed Verification of Erlang/OTP Components with the Process Algebra muCRL
英文版[暂缺] 13) by Q. Guo, J. Derrick
Priority Messaging made Easy
Optimising TCP/IP Connectivity
An Erlang Framework for Autonomous Mobile Robots
Learning Programming with Erlang
Programming Efficiently with Binaries and Bit Strings
其他
Purely Functional Data Structures
Practical Type Inference Based on Success Typings
Design Patterns for Simulations in Erlang/OTP
A More Accurate Semantics for Distributed Erlang
1)
- 此为开放列表,如有补充,请直接更新(若更新不便,也可以到 这里 回复)。为便于整理,对于每一篇文档,最好能按照格式补充下列资料:
- 必填:
- 类别 (如:官方文档,论文,活动文档,其他;如果是活动,则请注明活动名称,如: EUC07,CN-Erlounge-II等),
- 文档名称 (英/中/简,尽量详细,如:Making reliable distributed systems in the presence of software errors/面对软件错误构建可靠的分布式系统/JoeThesis 2003),
- 文档作者 (如:Joe Armstrong),
- 下载地址 (如:http://www.erlang.org/download/armstrong_thesis_2003.pdf,如果没有原始下载链接,也可发一贴,以附件形式上传到 erlang-china.org ),
- 选填:
- 内容简介 (大致介绍一下内容,没准写的好,就有同学主动要来翻译啊
)
2)
This is a “kick start” tutorial to get you started with Erlang. Everything here is true, but only part of the truth. For example, I’ll only tell you the simplest form of the syntax, not all esoteric forms. Where I’ve greatly oversimplified things I’ll write *manual* which means there is lots more information to be found in the Erlang book or in the Erlang Reference Manual.
3)
Doctor’s Thesis at KTH. Describes Erlang, OTP, how and why.
4)
The first part of the Erlang Reference book.
5)
THE BOOK.
6)
Attendance: an increase from last year. Of course some noted individuals from the Erlang community were there including Bjarne Dacker and Joe Armstrong (am I the only who forgot to bring along The Book?).
7)
The main point I took away was the scalability of Erlang in multi-core hardware is nearly linear. Nilsson provided examples from studies conducted internally at Ericsson and an external 8 core 8 CPU Sun box.
8)
Wiger addresses the issue of finding a specific process from a large pool of processes in particular for debugging and profiling purposes. At present, an earlier version of his extension is in use at Ericsson. This earlier extension only deals with local process registration while the talk focused on gproc, a global process registration service. gproc allows grouping processes into global and local properties reducing the search space when looking for a specific process. gproc also implements the necessary interface for use with QLC. Only minimal application code changes are needed to use/remove gproc making it definitely worthwhile to try out.
9)
Recent questions on the mailing list regarding edoc brought references to this particular topic with details revealed here. Essentially a slight modification/addition to edoc specs providing more information to dialyzer and a new to-be-written tool (by Luna) for type checking Erlang code.
10)
Presentation on the refactoring tool previously announced on the mailing list. Focuses on global code refactoring converting a tuple into record. Changes both internal references to the tuple and callee functions.
11)
Using an undocumented priority level and a new behaviour to provide hard realtime support within Erlang. The implementation is currently experimental although the speaker will be using it in the near future for his autonomous mobile robot project. A project worth tracking for those requiring hard realtime.
12)
This talk should be part of the Erlang FAQ. Get a copy of the paper and read it!
13)
Interesting verification work on gen_fsm with timeout. Unfortunately the transformation is current done by hand but since the analysis portion seems independent to Erlang it should be possible to do the same for any other language.
14)
Nystr枚m provides several examples of why priority message are hard to get right. Or for that matter with clean coding styles as Francesco once said “If you want dirty workarounds for selective receives in gen_servers, let me know. It will however have to be after lunch, as I will loose my appetite”. We get to see why in this talk.
15)
Bottom line - use SuSE!
16)
A very nice example of modular Erlang with C controller ports to control a robot. The AI portion, ERESYE, is also written in Erlang.
17)
Huch uses an Erlang system called Kara to attract prospective female university applicants into the Computer Science program. The list of concepts taught is impressive, non tail-recursion on day 1 and processes/message passing on day 3! Hopefully access to the video of this interactive engaging talk could be made public. Hint hint.
18)
A new datatype, the bit string, and a new construct for manipulating binaries, binary comprehensions, are included in the R12B release of Erlang/OTP. In addition to this the implementation of binary construction and matching have been altered to make straightforward programs that operates on binaries or bit strings more efficient.
19)
When a C programmer needs an efficient data structure for a particular problem, he or she can often simply look one up in any of a number of good textbooks or handbooks. Unfortunately, programmers in functional languages such as Standard ML or Haskell do not have this luxury. Although some data structures designed for imperative languages such as C canbe quite easily adapted to a functional setting, most cannot, usually because they depend in crucial ways on assignments, which are disallowed, orat least discouraged, in functionallanguages. To address this imbalance,we describe several techniques for designing functional data structures, and numerous original data structures based on these techniques, including multiple variations of lists, queues, double-ended queues, and heaps, many supporting more exotic features such as random access or efficient catenation.
20)
We show that it is possible to reconstruct a significant portion of the type information which is implicit in a program, automatically annotate function interfaces, and detect definite type clashes without fundamental changes to the philosophy of the language or imposing a type system which unnecessarily rejects perfectly reasonable programs. To do so, we introduce the notion of success typings of functions. Unlike most static type systems, success typings incorporate subtyping and never disallow a use of a function that will not result in a type clash during runtime. Unlike most soft typing systems that have previously been proposed, success typings allow for compositional, bottom-up type inference which appears to scale well in practice.
21)
The growing field of Design Patterns o?ers hope of controlling the complexities associated with the development of large software applications. The architecture of a system can be expressed at a higher level of abstraction, which allows the designer to concentrate on the specifics of the application rather than having to deal with low-level issues. Simulations are today an essential tool for research and training in areas such as national defense, where simulations are a cheaper (and sometimes the only possible) alternahttp://lambda-the-ultimate.org/node/1910tive. This work has focused on finding design patterns for simulation software and provides an implementation of the discovered patterns in Erlang/OTP as something called behaviours. The main simulation software in this study is Sim94 - A concurrent simulator for plan-driven troops, written in the Erlang programming language at the Computing Science Department of Uppsala University in 1994. This paper also investigates patterns in general as well as the relationship between behaviours and design patterns.
22)
In order to formally reason about distributed Erlang systems, it is necessary to have a formal semantics. In a previous paper we have proposed such a semantics for distributed Erlang. However, recent work with a model checker for Erlang revealed that the previous attempt was not good enough. In this paper we present a more accurate semantics for distributed Erlang. The more accurate semantics includes several modifications and additions to the semantics for distributed Erlang proposed by Claessen and Svensson in 2005, which in turn is an extension to Fredlund’s formal single-node semantics for Erlang. The most distinct addition to the previous semantics is the possibility to correctly model disconnected nodes.


Recent Comments