erlang相关内容

函数式语言(Erlang、F#、Haskell、Scala)

函数式语言是否适合 Web 应用程序开发? 函数式语言是否适合业务/ERP/CRM 类型的应用程序? 解决方案 您描述的那种函数式语言是通用编程语言,它们用于各种事物,包括 Web 应用程序和业务应用程序.(我使用 Haskell). Haskell 是否适合 Web 应用程序? 在 Haskell 中构建商业网络应用 正如 gabor 所暗示的,最终归结为图书馆.Scal ..
发布时间:2022-01-05 10:11:41 其他开发

Erlang 编译 - Erlang 作为独立的可执行文件

有没有办法把 Erlang 编译成一个独立的可执行文件?这意味着,将它作为没有 Erlang 运行时的 exe 运行. 解决方案 虽然可以将所有内容都包含在单个 EXE 中,但您不会远离 Erlang 运行时.例如,由于其性质,像 Erlang 这样的动态语言无法真正编译为原生 x86 代码.那里必须有翻译. 可以想出一个方案,将解释器和所有 BEAM 文件捆绑到一个单独的 EXE ..
发布时间:2022-01-04 21:40:12 其他开发

初学者的 Erlang/OTP 行为

我从“Erlang and OTP in action"一书中了解到,行为这个词指的是: 行为接口,它是一组函数; 行为实现,即特定于应用程序的代码(回调模块); 行为容器,它是一个进程. 问题: Erlang/OTP 初学者应该了解哪些行为?是否可以概括地描述和理解 OTP 行为的概念? 在 Elang/OTP 的上下文中,“回调函数"实际上意味着什么? 我们可 ..
发布时间:2022-01-03 08:41:22 其他开发

如何调试 Erlang 代码?

我有一些 Ruby 和 Java 背景,我习惯于在错误日志中有确切的行数. 所以,如果编译的代码有错误,我会在控制台输出中看到导致异常的行数. 就像这个 Ruby 示例: my_ruby_code.rb:13:in `/': 除以 0 (ZeroDivisionError)来自 my_ruby_code.rb:13 它既简单又快速 - 我只需转到第 13 行并修复错误. 相反 ..
发布时间:2022-01-02 20:22:40 其他开发

Erlang 是“单赋值"吗?与 Haskell 的“不可变值"不同?

在“Programming Erlang"一书中,据说该语言使用“单赋值"变量.在其他关于函数式编程语言的文章中,我总是读到“不可变值". “单一赋值"一词与“不可变值"的含义是否不同? 解决方案 在 erlang 中,变量可以是绑定的,也可以是未绑定的.您只能为未绑定的变量赋值.这就是单一赋值的来源,因为一旦变量被绑定,您就不能再为其分配新值.所以在 erlang 中,即使 0 和 ..
发布时间:2022-01-02 14:05:08 其他开发

Erlang 中不正确列表的实际使用(可能所有函数式语言)

我一直在阅读Erlang 和 OTP in action,并偶然发现了一个关于不正确列表的问题. 不要试图使用列表单元格这样即使你认为你有聪明的想法 - 它容易出错并且混淆人类和程序分析工具.也就是说,有用于创建的一两个有效用途不正确的列表,但它们被认为是先进的编程技术和超出了本书的范围. 超出本书的范围?它必须非常适合 Stackoverflow! 所以我的问题当然是,一些有效的用 ..
发布时间:2022-01-02 14:04:06 其他开发

函数式语言(特别是 Erlang)如何/为什么可以很好地扩展?

一段时间以来,我一直在关注函数式编程语言和功能日益增长的知名度.我调查了他们,没有看到上诉的原因. 然后,最近我在 Codemash 参加了 Kevin Smith 的“Erlang 基础"演讲. 我很喜欢这次演讲,并了解到函数式编程的许多特性使避免线程/并发问题变得更加容易.我理解缺乏状态和可变性使得多个线程无法更改相同的数据,但是 Kevin 说(如果我理解正确的话)所有通信都是通 ..

什么是“销"?运算符 for 和 Elixir 变量是否可变?

目前正在尝试理解 Elixir 中的“^"运算符.来自网站: 没有兴趣重新绑定时可以使用pin操作符^一个变量,而是匹配它之前的值匹配: 来源 - http://elixir-lang.org/getting_started/4.html 考虑到这一点,您可以像这样为符号附加一个新值: iex>x = 1 # 输出“1"即>x = 2 # 输出“2" 我也可以: iex>x ..

函数式编程:什么是“不正确的列表"?

谁能解释一下什么是“不正确的列表"? 注意:谢谢大家!你们都摇滚! 解决方案 我认为@Vijay 的答案是迄今为止最好的答案,我只是打算将其 Erlangify. Erlang 中的 Pairs (cons cell) 写成 [Head|Tail] 而 nil 写成 [].对于头部和尾部是什么没有限制,但是如果你使用尾部链接更多的 cons 单元,你会得到一个 list.如果最 ..
发布时间:2022-01-02 13:24:33 其他开发

哪个集群 NoSQL DB 用于消息存储?

关于选择哪种 NoSQL 的另一个问题.但是,我还没有发现有人要求这种类型的目的,消息存储... 我制作了一个 Erlang 聊天服务器,我已经在使用 MySQL 来存储好友列表和“需要加入"信息. 我想存储消息(该用户未收到,因为他处于离线状态...)并检索它们. 我已经预先选择了 NoSQL,我不能使用像 MongoDB 这样的东西,因为它是面向 RAM 的范式,并且不能像其 ..
发布时间:2021-12-31 17:24:12 其他开发

如何以精确的时间(即 10 毫秒)定期运行 Erlang 进程

我想每 10ms 运行一个周期性的 erlang 进程(基于挂钟时间),10ms 应该尽可能准确;实施它的正确方法应该是什么? 解决方案 如果你想要真正可靠和准确的周期性过程,你应该使用 erlang:monotonic_time/0,1 依赖于实际挂钟时间.如果您使用 Stratus3D 的 回答 你最终会落后. start_link(Period) 当 Period >0, is_i ..
发布时间:2021-12-31 15:49:10 其他开发

如何使已编写的并发程序在 GPU 阵列上运行?

我有一个用 Erlang 编写的神经网络,我刚买了一块 GeForce GTX 260 卡,上面有 240 核 GPU.使用 CUDA 作为胶水在显卡上运行它是否微不足道? 解决方案 不,使用 CUDA 不是一件小事. CUDA 编程模型基本上使用 C(有一些附加功能),但为了充分利用 GPGPU 的功能,您必须确保您的算法遵循 CUDA 指南.(请参阅 NVidia CUDA 编程 ..
发布时间:2021-12-30 21:45:38 其他开发

如果有的话,Erlang 进程如何映射到内核线程?

Erlang 以能够支持许多轻量级进程而闻名;它可以这样做,因为这些不是传统意义上的进程,甚至不是 P 线程中的线程,而是完全在用户空间中的线程. 这很好(实际上很棒).但是 Erlang 线程如何在多核/多处理器环境中并行执行呢?当然,它们必须以某种方式映射到内核线程才能在单独的内核上执行吗? 假设是这样,这是如何完成的?许多轻量级进程是否映射到单个内核线程? 或者有其他方法可 ..

哪些编程语言支持热代码交换和/或沙盒?

我想编写一个基于网络的 MMO 游戏,允许用户编写 AI 并将其作为游戏的一部分运行.我计划将 Html5 用于图形,并希望它基于网络,以便可以从智能手机访问.我需要找到一种支持沙盒、并发、热代码交换和大型库的编程语言,使事情变得更容易. 此时我的研究是关于 Erlang、Stackless Python 和 Lua.任何帮助表示赞赏. 解决方案 Erlang 不支持沙箱,所以你可能 ..
发布时间:2021-12-30 20:53:58 其他开发

你如何在 Elixir 或 Erlang 中在运行时动态创建和加载模块?

基本场景是这样的:我需要从数据库加载文本,然后将该文本转换为 Elixir 模块(或 Erlang 模块),然后调用它.文本实际上与模块文件相同.所以这是一种代码热加载的形式.我想编译“文件",然后加载生成的模块,然后调用它.稍后我会卸载它.唯一的区别是代码存在于数据库中而不是磁盘上的文件中.(并且在我编写将加载它的代码时它不存在.) 我知道 Erlang 支持热代码加载,但似乎专注于在磁盘 ..
发布时间:2021-12-29 14:23:58 其他开发

Erlang 中的元组模块是什么?

http://www.erlang.org/news/35 提到这将被记录在案,但我可以在文档中找不到它. 解决方案 “元组模块"是具有两个元素的元组,模块名称和额外参数列表.例如: {my_module, [foo, bar]} 在函数调用中可以使用这样的元组代替模块名称.在这种情况下,被调用的函数将获取有问题的元组作为参数列表末尾的附加参数: 3>模块 = {lists, [[f ..
发布时间:2021-12-29 14:18:01 其他开发

为什么 UI 框架必须/应该是单线程的?

之前已经问过密切相关的问题: 为什么大多数 UI 框架都是单线程的?.莉>所有事件驱动的框架都应该是单线程的吗? 但这些问题的答案仍然让我在某些方面不清楚. 第一个问题的提问者问多线程是否有助于性能,回答者大多说不会,因为 GUI 不太可能成为现代硬件上 2D 应用程序的瓶颈.但这在我看来是一种偷偷摸摸的辩论策略.当然,如果您仔细构建了您的应用程序,除了在 UI 线程上调用 UI ..
发布时间:2021-12-28 23:04:39 其他开发

在 Erlang 中获取衍生函数的结果

我目前的目标是编写 Erlang 代码来计算 N 个元素的列表,其中每个元素都是它的“索引"的阶乘(因此,对于 N = 10,我想得到 [1!, 2!,3!, ..., 10!]).更重要的是,我希望每个元素都在一个单独的过程中进行计算(我知道它的效率很低,但我希望我可以实现它,并在以后将其效率与其他方法进行比较). 在我的代码中,我想使用一个函数作为给定 N 的“循环",对于 N、N-1、 ..

Erlang 服务器,Java 客户端 - TCP 消息被拆分?

正如标题所说,我有一个用 Erlang 编写的服务器,一个用 Java 编写的客户端,它们通过 TCP 进行通信.我面临的问题是 gen_tcp:recv 显然不知道何时收到来自客户端的“完整"消息,因此将其“拆分"为多条消息. 这是我正在做的一个例子(不完整的代码,试图只保留相关部分): 代码 Erlang 服务器 -模块(服务器).-导出([开始/1]).-define(T ..
发布时间:2021-12-28 12:55:39 Java开发

Erlang/OTP 生产应用部署介绍

我想在 VPS 上开发一个 Erlang/OTP 应用程序并将其部署到生产环境中. 我非常熟悉在本地机器上开发 Erlang 代码,我的问题是关于部署. 基本上,我想知道我应该采取哪些步骤才能将 Erlang 代码从本地机器移动到生产服务器并使其运行,即可供用户使用. 注意:我已经阅读了一些关于 Erlang 和命令行、Erlang code 模块,Erlang 发布,但我仍然不 ..
发布时间:2021-12-26 23:42:32 其他开发