Last.fm的Richard在metabrew已将他的应用程序移植到Erlang.它也是由riak,couchdb和其他人完成的.他提到提取所需的部分,或将整个VM包含在发行版中.这里的主要特点是:程序不需要在目标机器上安装Erlang.
所以问题是,你如何一步一步地将一个Erlang程序打包成一个windows(以及不那么重要的linux)可执行文件?
PS我见过SAE项目,我在这里已经阅读了所有相关问题.没有回答我的问题.
关于什么竞争条件的问题的答案之一被提到故意使用竞争条件的低级算法.种族条件如何有益?
编辑:并发和队列是故意不关心事物排序的一个很好的例子,只要没有丢失.关于"真正多毛的低级算法如何故意这样做"的任何想法?
我正在编写一个函数,该函数将List[(Char, Int)]在字符串中获取一个字符出现列表 ( ),并生成该出现列表的所有子集。
所以,给定
List(('a', 2), ('b', 2))
Run Code Online (Sandbox Code Playgroud)
它会产生
List(
List(),
List(('a', 1)),
List(('a', 2)),
List(('b', 1)),
List(('a', 1), ('b', 1)),
List(('a', 2), ('b', 1)),
List(('b', 2)),
List(('a', 1), ('b', 2)),
List(('a', 2), ('b', 2))
)
Run Code Online (Sandbox Code Playgroud)
我是这样实现的:
type Occurrences = List[(Char, Int)]
def combinations(occurrences: Occurrences): List[Occurrences] =
if (occurrences.isEmpty) List(List())
else for {
(c, n) <- occurrences
i <- n to 1 by -1
} yield (c, i) :: combinations(occurrences.tail)
Run Code Online (Sandbox Code Playgroud)
我得到这个错误:
type mismatch;
found : List[List[Product with …Run Code Online (Sandbox Code Playgroud)