高级、函数式、解释型、动态编程语言:Crumb


8 月 26 日「源创会」北京站,聊聊 AI 大模型与底层技术 >>>

Crumb 是最新开源的编程语言,发布后在 Reddit 的编程版块引起了广泛讨论。

正如标题所言,Crumb 是一门函数式编程语言,且没有“关键字”,一切皆函数 (0 keywords, everything is a function.)。其他特性包括提供垃圾回收 (GC)、动态类型、具有简洁的语法和详细的标准库。

示例代码

table = (map (range 10) {_ y ->
<- (map (range 10) {item x ->
<- (multiply (add x 1) (add y 1))
})
})
(loop 100 {i -> 
i = (add i 1)

(if (is (remainder i 15) 0) {
(print "fizzbuzz\n")
} {
(if (is (remainder i 3) 0) {
(print "fizz\n")
} {
(if (is (remainder i 5) 0) {
(print "buzz\n")
} {
(print i "\n")
})
})
})
})
  • 实现斐波那契数列
// use a simple recursive function to calculate the nth fibonacci number
fibonacci = {n ->
<- (if (is n 0) {<- 0} {
<- (if (is n 1) {<- 1} {
<- (add 
(fibonacci (subtract n 1)) 
(fibonacci (subtract n 2))
)
})
})
}

(until "stop" {state n ->
(print (add n 1) "-" (fibonacci (add n 1)) "\n")
})

更多示例代码:https://github.com/liam-ilan/crumb/tree/main/examples

标准库包括:IO、Comparisons、Logical Operators、Arithmetic 等。


相關推薦

2023-01-11

Crystal 是一种通用的、面向对象的编程语言,由 Ary Borenszweig、Juan Wajnerman、Brian Cardiff 和 300 多名贡献者设计开发。Crystal 的语法受到 Ruby 的启发,属于编译语言,具有静态类型检查功能,但一般不需要指定变量或方法参数的类型

2022-09-19

deepin 宣布了自研的全新通用目的编程语言:Unilang,其仓库提供了文档和作为参考实现的解释器。 deepin 表示,目前桌面应用开发虽然有许多选项,例如 Qt、Electron、PySide 和 Flutter 等。但它们存在各自的优势和不足。 据介绍,

2022-07-20

为什么会有这么多编程语言? 在编程语言如此丰富的今天,相信许多开发者都有过上面的疑问。不过早在 1960 年代初,人们就已经提出了这个问题。 《ACM通讯》期刊近日发表了题为《Why Are There So Many Programming Languages?》的文章

2023-04-08

编译性能、缩短编译时间。 提供汇编解释器提升应用高级语言运行性能。 提供基于PGO配置文件的Host AOT优化编译器,提升应用高级语言高负载性能。 支持模块化能力,更好、更规范的支持复杂应用工程开发。 支持

2023-01-17

务器领域,这次演讲内容涉及的主题也很广泛,涵盖了从编程语言如何演变到项目如何失败的方方面面。 Gosling 谈到了 Java 对于 AWS 的重要性。据他介绍,AWS 许多核心功能都采用 Java 实现,而且它拥有相当庞大的 Java 工程师团

2022-07-31

。 这一新设置在 Preferences | Advanced Settings | Docker(设置 | 高级设置 | Docker)中默认启用。 与 Colima 和 Rancher 的集成 GoLand 现在与 Colima 和 Rancher 集成,支持更多用于建立与 Docker 守护进程的连接的选项。 数据库 导入多个 CSV

2022-08-19

Lux 0.7 已发布,这是一门函数式、具备静态类型的 Lisp 编程语言,支持在 Java 虚拟机、JavaScript、Python、Lua 和 Ruby 解释器上运行。 Lux 0.7 主要变化 新增 内联函数 支持将配置参数从构建描述 (build description) 传递给编译器 基

2022-07-10

Crystal 是一种通用的、面向对象的编程语言,由 Ary Borenszweig、Juan Wajnerman、Brian Cardiff 和 300 多名贡献者设计开发。Crystal 的语法受到 Ruby 的启发,属于编译语言,具有静态类型检查功能,但一般不需要指定变量或方法参数的类型

2022-09-13

有资源的情况下引入更强大的优化。 Code Completion   函数调用参数、变量和全局函数的 Code Completion 现在紧密集成到 Swift 的类型检查器中。这允许 Code Completion 能够在模糊的代码或有错误的代码中提供更准确的结果。 如果

2023-04-26

谷歌介绍了其对话式 AI 产品 Bard 的最近更新,称现在可以帮助用户完成编程和软件开发任务,包括代码生成、代码调试和解释。 根据谷歌产品经理的介绍,Bard 的编程能力支持 20 多种语言,包括 C++, Go, Java, Javascript, Python

2022-03-27

程范式,这种范式独立于所使用的特定类型,泛型允许在函数和类型的实现中使用某个类型集合中的任何一种类型。 泛型为 Go 添加了三个新的重要内容: 面向函数和类型的“类型形参” (type parameters) 将接口类型定义为类型集

2023-04-16

Crystal 是一种通用的、面向对象的编程语言,由 Ary Borenszweig、Juan Wajnerman、Brian Cardiff 和 300 多名贡献者设计开发。Crystal 的语法受到 Ruby 的启发,属于编译语言,具有静态类型检查功能,但一般不需要指定变量或方法参数的类型

2023-09-08

开发)和 Ops(应用部署)。 Wasm 应用开发需要自己的编程语言生态系统和相关工具,如编译器、框架、库、工具和运行时。Dev 类别包括编程语言、运行时、应用程序框架edge/bare metal、AI  推理、嵌入式功能和工具。 Was

2022-03-03

型的编译器实现(在类型检查之后)主要侧重于创建泛型函数和方法的实例,这些实例将与具有具体类型的参数一起执行。为了避免针对泛型函数/方法的每一次调用创建不同的函数实例,并带有不同类型的参数(这种是纯粹的 s