Gleam Lang —— Rust 实现的函数式编程语言
Gleam 是 Rust 实现的函数式编程语言,构建于 Erlang 虚拟机之上,被编译为 Erlang(或 JavaScript),支持与其他 BEAM 语言(如 Erlang、Elixir 和 LFE)互操作,主要用于构建类型安全、可扩展的系统。
特性
- 基于 actor 的多核并发
- 代数数据类型
- Erlang 风格的容错
- 快速编译
- 全类型推断
- 泛型
- 有用的错误信息
- 不可变数据结构
- 默认没有异常
- no null
- 没有未定义的行为
- 可靠的包管理
- 小而一致的语言设计
- 与 Erlang、Elixir 等语言的零成本互操作
示例代码
Hello, World!
import gleam/io
pub fn main() {
io.println("Hello, world!")
}
简易 Web 服务器
import gleam/io
import gleam/bit_builder
import gleam/http/elli
import gleam/http/response
pub fn my_service(_req) {
let body = bit_builder.from_string("Hello, world!")
response.new(200)
|> response.set_body(body)
}
pub fn main() {
elli.become(my_service, on_port: 3000)
}
多线程 hello world
import gleam/io
import gleam/int
import gleam/list
import gleam/string
import gleam/otp/process
pub fn main() {
list.range(0, 1000)
|> list.map(start_process)
|> list.map(process.monitor_process)
|> list.each(process.receive(_, 3)) // Wait for them to finish
}
fn start_process(i) {
process.start(fn() {
let message = string.append("Hello world: ", int.to_string(i))
io.println(message)
})
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
每日一博 | 日均数亿推送稳定性监控实践
前言: 得物消息中心每天推送数亿消息给得物用户,每天引导数百万的有效用户点击,为得物App提供了强大,高效且低成本的用户触达渠道。这么庞大的系统,如何去监控系统的稳定性,保证故障尽早发现,及时响应至关重要。为此,我们搭建了得物消息中心SLA体系,相关架构如图: 本文主要介绍我们如何实现SLA监控体系,并一步步重构优化的,作为过去工作的经验总结分享给大家。 1. 背景 得物消息中心主要承接上游各业务的消息推送请求,如营销推送、商品推广、订单信息等。消息中心接受业务请求后,会根据业务需求去执行【消息内容检验,防疲劳,防重复,用户信息查询,厂商推送】等节点,最后再通过各手机厂商及得物自研的在线推送通道触达用户。整体推送流程简化如下: 我们希望能够对各个节点提供准确的SLA监控指标和告警能力,从而实现对整体系统的稳定性保证。下面是我们设计的部分指标: 监控指标 节点推送量 节点推送耗时 节点耗时达标率 整体耗时达标率 节点阻塞量 其他指标 告警能力 节点耗时告警 节点阻塞量告警 其他告警能力 那我们如何实现对这些指标的统计呢?最简单的方案就是在每个节点的入口和出口增加统计代码,如下: 这...
-
下一篇
舍弃谷歌翻译,Brave 浏览器自研隐私友好的翻译服务
据外媒 Ghack 报道,在 9 月上旬发布的 Brave 1.43.88 版本,Brave 浏览器在PC/ Android 双端都移除了长期默认使用的谷歌翻译功能,切换成了自研的 Brave Translate 功能,这是一项为对隐私更友好的自托管翻译服务。 Brave 是基于 Chromium 引擎开发的开源网络浏览器,是一个注重用户隐私的浏览器。它在默认设置中自动阻止第三方广告、追踪器、以及广告视频的自动播放。 Brave 浏览器所属的 Brave Software 公司由 Brendan Eich 和 Brian Bondy 于 2015 年联合创立,前者是 JavaScript 的创造者,同时也是 Mozilla 联合创始人。 与 Vivaldi 浏览器在 4.0 版本推出的 Vivaldi 翻译功能一样,Brave 也是使用自托管的 Lingvanex 服务器来支持翻译服务,所有的数据都无需经过谷歌、微软等第三方服务,更大程度地保证用户隐私。 用户使用Brave 访问一些外语(本机设备上未安装的语言)站点时,Brave 翻译会自动弹出。从下方图片可以看到, Brave 翻译...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL数据库在高并发下的优化方案
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程