erlang相关内容

Erlang 中的垃圾收集和内存管理

我想了解有关 Erlang/OTP 中垃圾回收 (GC) 和内存管理的技术细节. 但是,我在 erlang.org 及其文档上找不到. 我在网上找到了一些非常笼统地谈论GC的文章,例如使用了什么垃圾收集算法. 解决方案 算法参考论文:One Pass Real-Time Generational Mark-Sweep Garbage Collection (1995) 作者:J ..
发布时间:2021-12-24 17:09:19 其他开发

Erlang 的递归函数不只是一个 goto 吗?

只是想把它放在我的脑海里.考虑这个 Erlang 代码示例: test() ->收到{来自,随便} ->%% 做一点事测试();{来自,别的东西} ->%% 做点别的测试();结尾. 不是 test() 调用,只是一个 goto 吗? 我问这个是因为在 C 中我们学到了,如果你做一个函数调用,返回位置总是放在堆栈上.我无法想象这一定是 Erlang 的情况,因为这会导致计算器溢出. ..
发布时间:2021-12-16 09:07:54 其他开发

你如何写一个在 Erlang 中递归的乐趣?

我正在尝试在 Erlang shell 中编写递归乐趣,但我不断收到未绑定的变量异常: 1>Foo = 乐趣(X) ->Foo(X) 结束.* 1: 变量 'Foo' 未绑定 这可能不言而喻,但我并不是要创建一个无限循环!这只是我遇到的错误的一个简单示例. 解决方案 自从 OTP 17.0有命名的乐趣: 1>Perms = fun F([]) ->[[]];F(L) ->[[H|T] ..
发布时间:2021-12-16 09:01:21 其他开发

当前函数式响应式编程实现的状态如何?

我试图在 Haskell 中可视化一些简单的自动物理系统(例如钟摆、机械臂等).通常这些系统可以用像 这样的方程来描述 df/dt = c*f(t) + u(t) 其中 u(t) 代表某种“智能控制".这些系统看起来非常适合函数式响应式编程范式. 所以我拿起了 Paul Hudak 的书“The Haskell School of Expression",并发现那里提供的领域特定语 ..

从技术上讲,为什么 Erlang 中的进程比 OS 线程更高效?

Erlang 的特性 来自 Erlang 编程(2009 年): Erlang 并发速度快且可扩展.它的进程是轻量级的,因为 Erlang 虚拟机不会为每个创建的进程创建一个操作系统线程.它们在 VM 中创建、调度和处理,独立于底层操作系统.因此,进程创建时间为微秒量级,与同时存在的进程数无关.将此与 Java 和 C# 进行比较,其中为每个进程创建一个底层操作系统线程:您将得到一些非 ..
发布时间:2021-12-06 11:57:05 其他开发

Erlang串口IO

我想用 erlang 与我的调制解调器通话.它安装为/dev/ttyUSB 并且完全理解 AT 命令. 我可以使用标准文件模块从设备读取和写入吗? 波特率、字节大小、奇偶校验、RTS/CTS、DSR/DTR 等怎么样? 您有使用 tonyg-erlang-serial-1.0 的经验吗?(我不太相信这个包,因为它在自述文件中说:“这是一个带有用于串行通信的 erlang 驱动程序 ..
发布时间:2021-11-30 13:55:19 其他开发

如何将具有有效 Erlang 表达式的字符串转换为抽象语法树 (AST)?

我想将包含有效 Erlang 表达式的字符串转换为其抽象语法树表示,但目前没有任何成功. 下面是我想做的一个例子.编译后,所有z:z().生成模块zed,通过调用zed:zed().返回应用lists:reverse 在给定的列表上. -module(z).-出口([z/0]).z() ->ModuleAST = erl_syntax:attribute(erl_syntax:atom(m ..
发布时间:2021-11-26 17:45:57 其他开发

除了 Erlang 之外,还有哪些系统是基于“绿色进程"的?

我在 Green Thread (Wikipedia) 上阅读了这个信息丰富的页面,我想知道:什么除了Erlang,其他编程系统都依赖“绿色进程"吗? 编辑:“绿色线程!=绿色进程" 基于绿色过程 二郎 地狱 基于绿色线程 去 基于本机进程 C、C++ 更新:没有人直接回答问题,因此我接受了一个答案,该答案为我提供了有关绿色流程的更多信息. ..

SOA:为什么不使用 Erlang/OTP Web 服务器作为服务?

在阅读面向服务的架构原则网站和相应的维基百科文章 我有一个想法:Erlang/OTP 平台可以被认为是一个 SOA 平台,SOA 应用程序可以在它上面构建. 唯一的是服务合同在这样一个系统非常具体:为了在 Erlang/OTP 中调用服务,编排层必须通过 Erlang 消息或调用 gen_server(取决于实现)进行调用. 这将不允许对 Erlang/OTP 平台范围之外的服务进行任 ..
发布时间:2021-11-17 02:26:32 其他开发

Erlang/OTP 架构:用于 SOAish 服务的 RESTful 协议

假设我们有一个供比萨店设计和建造的订单处理系统. 要求是: R1. 系统应该与客户端和用例无关,这意味着系统可以被在初始设计时没有考虑在内的客户端访问.例如,如果比萨店决定其许多客户以后使用三星 Bada 智能手机,那么为 Bada OS 编写客户端将不需要重写系统的 API 和系统本身;或者例如,如果事实证明使用 iPad 而不是 Android 设备在某种程度上更适合送货司机,那么 ..
发布时间:2021-11-17 02:24:43 其他开发

使用 OTP/Erlang 作为 Web 应用程序基于组件的架构的一部分

我有一个执行一些业务逻辑的 Erlang/OTP 应用程序.它是用 Erlang 编写的,主要是为了容错,因为我可以轻松地重新启动系统崩溃的组件之一(高正常运行时间是最重要的要求).它的每个组件都进行某种特定的“并行"计算. 作为一个工作周期的结果,应用程序会生成一个值列表.让我们将此 Erlang/OTP 应用程序称为“后端". 这个 Erlang/OTP 应用程序还将使用 Post ..
发布时间:2021-11-17 02:23:48 其他开发

Elixir/erlang 在哪里适合微服务方法?

最近我一直在用 docker compose 做一些实验,以便部署多个协作的微服务.我可以看到微服务提供的许多好处,现在有一个很好的工具集来管理它们,我认为跳入微服务旅行车并不是非常困难. 但是,我也一直在试验 Elixir,我非常喜欢它本身提供的好处.鉴于它鼓励将您的代码打包到多个解耦的应用程序中,并支持热代码升级,您将如何将 docker 与 elixir(或 erlang,就此而言)混 ..
发布时间:2021-11-17 02:14:39 其他开发

你如何设计基于 Erlang/OTP 的分布式容错多核系统的架构?

我想构建一个基于 Erlang/OTP 的系统来解决“令人尴尬的并行"问题. 我已经阅读/略读了: 向你学习一些 Erlang; Erlang 编程(阿姆斯壮); Erlang 编程 (Cesarini); Erlang/OTP 在行动. 我已经掌握了流程、消息传递、主管、gen_servers、日志记录等的要点 我确实理解某些架构选择取决于所关注的应用程序,但我仍然 ..
发布时间:2021-11-17 02:14:34 其他开发

使用 Erlang/OTP 构建容错软实时 Web 应用程序

我想为一家披萨外卖店构建一个容错的软实时 Web 应用程序.它应该帮助比萨店接听顾客的电话,将它们作为订单放入系统(通过 CRM 网络客户端),并帮助调度员为订单分配送货司机. 这些目标并不罕见,但我想让该服务 24/7 可用,即使其具有容错性.此外,我想让它工作得非常快并且反应灵敏. 以下是此类应用程序的一个非常简单的架构视图. 问题是我不知道如何利用 Erlang/OTP 的 ..

Erlang 中的 Apple 推送通知(或在 Ruby 中改进?)

我目前在我的服务器上使用 Ruby 运行 Apple 推送通知.我想让一个人在 Erlang 中进行,因为我想使用一个主管来监视它.有没有人有任何可以帮助我的代码? 这是我的 Ruby 代码.我不喜欢这个当前实现的一件事是它似乎没有保持连接 - 它每天断开 2-3 次,并且在我重新连接后似乎第一次推送不会通过: context = OpenSSL::SSL::SSLContext.newc ..
发布时间:2021-11-16 21:08:31 其他开发

如何在不使用列表模块的情况下编写 Erlang 的列表连接?

我正在读的关于 Erlang 的书后面有练习,其中之一是重新创建列表:追加函数. 我可以简单地使用 ++ 运算符来做到这一点,但这真的很慢吗?我认为练习的重点是使用我编写的列表操作来完成. 到目前为止,我能想到的唯一方法是执行以下操作: concat([], _, Results)->结果;concat(_, [], 结果)->结果;concat([Ah|At],B,Results) ..
发布时间:2021-11-16 19:33:36 其他开发