查看原文
其他

Crumb:无关键字、一切皆函数的编程语言

出品 | OSC开源社区(ID:oschina2013)

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 等。

Crumb 已在 GitHub 上开源,目前 200+ stars。

项目地址:https://github.com/liam-ilan/crumb
相关链接:https://www.reddit.com/r/programming/comments/1635tox/crumb_a_new_programming_language_where_there_are/

往期推荐



宇宙第一IDE放弃了Mac
内存安全、用Rust重写的sudo发布首个稳定版

来自C++之父Bjarne Stroustrup的人生建议



这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存