这是我发起的一门 Scheme 语言实现,目前是基于 S7 Scheme。
金鱼Scheme 是一个 Scheme 解释器,具有以下特性:
- 兼容 R7RS-small 标准
- 提供类似 Python 的标准库
- 小巧且快速
金鱼Scheme基于S7 Scheme实现,本身不做Scheme解释器,而是在做Scheme标准库。
比如
(import (liii string))
可以替代
(import (srfi srfi-13))
又如:
(import (liii os))
(mkdir "/tmp/hello")
如果你不用 liii
开头的库,scheme开头的R7RS定义的标准库,和srfi开头的SRFI里面定义的函数库,是非常稳定的。
目前还在快速迭代演进的阶段,如果用于生产,不建议使用 liii 开头的标准库。
9 个赞
Goldfish Scheme v17.10.5已经发布,可以在墨干v1.2.9.1中使用金鱼Scheme V17.10.5,否则需要自己编译安装。
新增模块:栈、队列、向量、哈希表、模式匹配
1 个赞
github 上提交了一个 pr,优化了 list-view,引入了新函数 length=。不过我 length= 的 test 写错了… 可能需要您动手改一下。
(check ((length= 3 (list 1 2 3))) => #t)
(check ((length= 2 (list 1 2 3))) => #f)
(check ((length= 4 (list 1 2 3))) => #f)
改成
(check (length= 3 (list 1 2 3)) => #t)
(check (length= 2 (list 1 2 3)) => #f)
(check (length= 4 (list 1 2 3)) => #f)
谢谢。
1 个赞
欢迎参与,由于你的参与,我们决定以开源的方式开发金鱼Scheme
金鱼Scheme的一个很大的特点是,采用文学编程开发。我们不用IDE,用的是墨干理工套件。
sadhen
5
Goldfish Scheme v17.11.0已经发布了!
最近给上游S7 Scheme反馈了一些问题。Goldfish Scheme现在已经开始基于S7 Scheme 11.2.x 了。
- 新增模块
(liii argparse)
,有基础的处理命令行的模块了。
- 在
(liii path)
中新增 path-getsize
用于获得文件大小,这个函数的命名方式源自于Python的标准库
下一个版本v17.11.1正在研发中:
- 天降猛男,刚刚新来的开发者帮忙实现了 (liii cut) 模块,也就是 SRFI 26。这个是Scheme里面的偏函数,可以减少很多臃肿的代码。实现
cut
和cute
还是有点难度的。
你是用墨码开发的吗,墨码开发进度怎么样了
目前用的是墨干的代码编辑的功能。这部分功能未来属于墨码。由于墨码是不以盈利为导向的,我们目前只是在OSPP 2024(中科院开源之夏)这个活动中有一定进展。
我们集成了tree-sitter,让Scheme和C++代码有了更好的代码高亮。但这个方案不具备可扩展性,因为每次加入一种语言的高亮,就必须引入相应的dll。
目前墨干的商业化的进展比较可喜,不少在读大学生和国内多所高校的教职工购买了墨干的商业版的预售版,让我们有了一点点初步的收入。大家对墨干的商业版的预售感兴趣,可以在这边私信我,目前的折扣比较大。
关心我们的发展的话,也可以捐赠我们,今年中科院开源之夏2024的其中两个项目是我们自掏腰包支持的,另外项目结项之后,我们额外给每一个参与开源之夏的学生发了500rmb的红包。
2 个赞
Reasonably well-known and widely used (e.g. if it’s a GitHub project, it should have at least 100 stars and/or 50 forks)
按照Scoop的标准,我们需要一些star和fork,欢迎大家参与或者点一个小小的star!
1 个赞