erlang

rebar3 的使用

最近从新拾起erlang做一个业余项目,之前一直用rebar来构建工程。在rebar的项目主页看到We encourage you to move to https://github.com/erlang/rebar3的字样. 于是就去用了一下rebar3。rebar3 和rebar有太大改变了。简单记录一下使用功能:安装$ git clone https://github

Erlang/Eliir: 使用 Lee 和 Yecc 解析领域语言(DSL)

本文的目的是处理 Telegram 协议的定义语言TL本文需要对编译原理有一定的了解.Leex 是一个 Erlang 语言实现的词法分析器(Lexical Analyzer). 接收字符流输入, 产生符号流输出.Yecc 是一个 Erlang 语言实现的语法分析器(Syntactic Parser). 接收符号流输入, 产生AST.词法分析器 leex一个 leex 词法分

使用 Rust 语言开发 Erlang NIF

Rustler 项目还不是很成熟, 基本可用. 有兴趣的可以给作者提 Issue.Rustler 是一个在安全的用 Rust 编写 Erlang NIF 的库. 这里安全的含义是, 它不会导致 BEAM(Erlang 虚拟机)的崩溃. 该库提供了一个设施用于生成与BEAM交互的模板, 处理Erlang Term的编码和解码. Rustler 适用于 Erlang 和 Eli

vimerl +rebar3 vimerl找不到n2o的头文件

在rebar3 创建的工程里,如果想包含依赖工程(deps)里面的头文件*.hrl 可以这样写,以包含n2o里面的头文件为例子:-include_lib("n2o/include/wf.hrl"). 但是问题来了,用vimerl插件时,vimerl每次保存都会去检查语法和依赖关系。vimerl找不到n2o/include/wf.hrl的路径。这样vimerl就在这行报错。

clojure 中使用 actor

背景Actor 模型 是让 Earlang 声名卓著的关键特性。它是 Erlang 平台实现分布式编程的关键内容,在 Clojure 语言设计时, Rich Hickey 考虑过在 Clojure 语言中是否实现 Actor,他最终认为:这仅仅是适合于分布式编程的一种特征,如果成为语言的本质,将限制 Clojure 成为一种服务器领域语言,因此他决定使用其他更简单直接的异步

erlang 动态编译和加载遇到的问题。

erlang具有动态加载代码的能力。在开发过程中一般都让代码自动编译加载,这样开发起来很爽。 最有名项目应该是sync了地址:https://github.com/rustyio/sync最近在用rebar3 构建项目。而且又用到了erlydtl,在用sync自动编译dtl的时候出现了问题。erlydtl 的编译配置是这样的。{erlydtl_opts, [