问题标签 [erlang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - Erlang 的可扩展性秘诀是什么?
Erlang 在处理大量消息和请求方面享有盛誉。我没有时间下载并尝试深入了解 Erlang 先生对切换理论的理解......所以我想知道是否有人可以教我(或指向一个好的教学网站。)
假设作为一个思想实验,我想将 Erlang ejabberd 移植到 Python 和 C 的组合中,以一种给我相同的速度和可扩展性的方式。我必须理解和实施哪些结构或模式?(Python 的 Twisted 是否已经这样做了?)
erlang - 我在哪里可以找到“BIF”的好的 erlang 参考?
我已经有 Programming Erlang 的书,我使用http://www.erlang.org/站点。
但是我找不到像lists:duplicate这样的 BIF 和模块的好的参考站点。我从 Programming Erlang book 的末尾找到了简短的解释,但我需要更多;((关于参数,示例代码..等)
任何人都可以帮助我解决这个问题吗?
谢谢
compiler-construction - Erlang 类型系统
我一直在网上四处寻找 Erlang 程序的各种打字实践,似乎有一些……尽管找到可靠的信息来源有点困难,即我正在寻找有关以下方面的实用信息:
1. -specs
- 这个看起来很有吸引力。一些地方提到在编译时检查具有关联的 -specs 指令的函数(以确保正确的类型使用)......我似乎无法找到有关如何使用它的更多信息(使用哪个工具 - Dialyzer,打字机?)。我真的很想创建一个小的解析器/代码生成器,它可以从表单的函数声明中生成这些“规范”
我还没有看到是否-spec
支持抽象类型(用户声明的类型 - “汽车”类型 -
2.这里提到的-deftype
指令
如果我可以开始输入内容并在编译时检查它们,Erlang 对我来说将变得更加强大。我上面提到的解析器/代码生成的运行时将在输出源代码中生成保护类型检查。
erlang - Erlang 框架 - 字典数据类型
我遇到了一些关于在 Erlang 中引入“框架”数据类型的文本,基本上是在其他语言中常见的字典(关联数组)类型......将在运行时保留(与记录不同)......任何关于这个倡议在哪里?它会在 R13 中实现吗?R14?会非常有用......我经常使用“dict”,但是更轻量级的内置数据类型会更酷
谢谢
list - Erlang,列表理解语法
我在 Erlang 中看到了这段代码:
在那一行中,我发现-$0
语法非常有用。
我阅读了代码并估计了它的含义,但我不太确定:它是否拆分了所有数字?
我想查看该语法的解释或手册页,但找不到。谁能告诉我正确的页面?
arrays - 在 Erlang 中使用二维(多)维数组
这些天我正在用 Erlang 解决Project Euler问题。
由于我从一开始就是一名 C++ 程序员,所以有时我真的很想使用二维数组进行编码。
我的想法之一是使用这样的元组和列表:
有没有在 Erlang 中实现多维数组的好方法?
concurrency - 哪些挑战促进了并行/并发架构的使用?
我对使用内置并行性/并发性的语言的可能性感到非常兴奋,例如stackless python和erlang,并且坚信我们都必须在不久的将来朝着这个方向前进 - 或者会想要因为这将是获得可扩展性和性能的好方法/简单方法。
但是,我非常习惯于以线性/串行/OOP/功能方式思考解决方案,以至于我正在努力以一种值得使用并发的方式来解决我的任何领域问题。我怀疑我只是需要忘掉很多东西,但我想我会问以下问题:
- 您是否在 stackless 或 erlang 或其他中实现了任何相当大的东西?
- 为什么这是一个不错的选择?这是一个不错的选择吗?你还会做吗?
- 您的问题的哪些特征意味着并发/并行是正确的?
- 您是否重新提出了现有问题以利用并发/并行性?和
- 如果是这样,如何?
有谁愿意分享经验吗?
erlang - Erlang是用什么写的?
爱立信的 Erlang 和 Erlang/OTP 实现是用什么编写和编译的?是汇编、C 还是 Erlang 本身?
更新 1:感谢 DrJokepu。如果我理解正确,Erlang source-to-VM 编译器是用 Erlang 本身编写的。但是 VM 是用 C 编写的。
更新 2:Hynek-Pichi-Vychodil 指出了很多细节。
- VM 和 HW 交互驱动程序:在 C 中。
- 编译器(到 VM)和库:在 Erlang 中。
- 扩展:可以通过用该语言编写端口或 Erlang 节点来使用任何语言。
actionscript-3 - 协议简单性与“适当性”
我和我的一个朋友还有另一个争论。
考虑需要设计一个简单的基于 JSON 的协议,该协议基本上用于在各方之间发送某种事件(消息)。
说,像
我建议像上面一样保留这个协议,而我的朋友建议做类似的事情:
他的论点是,就像 TCP 和 HTTP 处于不同的“责任”层一样,该协议应该使用“详细信息”子对象以保持数据分离。
他的另一个论点是处理匹配事件的处理程序不应该知道任何有关“路由”信息(例如 event_id)的信息。
我的论点是:
- 为了向处理程序隐藏这些信息,我们正在增加每条消息的长度(以及网络流量,这对于与大量消息交换的系统可能很重要)
处理程序确实需要知道“路由”信息,例如,才能正确回答它们:
/li>即使我们需要从处理程序中隐藏 event_id 和类似的东西,我们也可以在传递给处理程序之前将它们去掉,这样仍然可以节省流量
该协议非常简单,不应该被其他任何人使用。
你怎么看?
scala - 基于代理/参与者的并发设计的设计模式
最近我一直在研究支持演员/代理/无共享架构的替代语言 - 即。scala、clojure 等(clojure 也支持共享状态)。
到目前为止,我阅读的大多数文档都集中在介绍级别。我正在寻找的是四个更高级的文档,但没有共享任何基础。
为什么 ?它有助于理解设计思维的变化。简单的示例很简单,但在现实世界的 Java 应用程序(单线程)中,您可以拥有具有 1000 个具有复杂关系的成员的对象图。但是随着基于代理的并发开发,它引入了一套全新的想法,以便在设计大型系统时理解。IE。代理粒度 - 一个代理应该管理多少状态 - 对性能等的影响,或者是将共享状态对象图映射到基于代理的系统的良好模式。将域模型映射到设计的技巧。讨论不是关于技术,而是更多关于如何在设计中最好地使用技术(现实世界的“复杂”示例会很棒)。