Scheme中文社区 theschemer.org » 搜索 » user:guenchi post:true

Chez Scheme 黑魔法

(#%$assembly-output #t)


#ICFP2019Akeep爆料

Scheme guenchi •  2 天前 • 最后回复来自 qww6
1

请教贴::chezscheme使用的两个问题:1.scheme库调用;2.C库调用

试试 (library-directories  `(("G:/xxx" . "

C Chez Scheme 学习 提问帖 guenchi •  12 天前 • 最后回复来自 macdavid313
2

这样的尾递归“解释”......


首先看待一个问题


什么是递归?以及递归的问题所在?


递归就是函数调用自身,这一点没有问题。


那么递归的问题在哪里呢?


我们先看一下普通的函数调用,如果函数在求值时,发现参数位是另一个函数,那么就会保存下来当前栈,先求值这个“另一个”函数,等到得到值,再用栈上的其他参数进行计算。


这一点也是没有问题的。


那么问题在哪呢?


学习 guenchi •  2019-07-23 • 最后回复来自 sughiy
5

函数式编程

感谢提供bug


用的一个开源网站系统 目前还没有功夫重写


之后肯定会用Scheme重写 所以就暂时不打算改了

Scheme guenchi •  2019-07-23 • 最后回复来自 guenchi
5

一般scheme是怎么处理多值返回的? 使用像 let-values* 这样子的宏, 有什么需要注意的吗?

https://github.com/guenchi/Scheme/blob/master/An%20Efficient%20Implementation%20of%20Multiple%20Return%20Values%20in%20Scheme.pdf


前面提到

Chez guenchi •  2019-07-20 • 最后回复来自 sughiy
3

一般scheme是怎么处理多值返回的? 使用像 let-values* 这样子的宏, 有什么需要注意的吗?

多值返回一般有几种方式

1. 返回list (或者vector)

这种返回方式具有一定的代价(很小)但相对来说非常简便易行

2. 返回需要多个参数的函数。

按道理来说是没有什么代价的,但是在使用上存在一定的局限,也就是你必须用cps的写法。

3. (values)

values属于r6rs的标准定义,也就是说是最官方的多值返回方式。对实现的要求也比较严格。我不记得R6RS对values的实现是否有性能要求。但是可以确认的是,Chez的实现values是0代价。至于实现的具体方法,Kent Dybvig有一篇论文专门讲

Chez guenchi •  2019-07-19 • 最后回复来自 sughiy
3

开始从头开始写一个Emacs on Chez Scheme

开始从头开始写一个Emacs on Chez Scheme


https://github.com/guenchi/Emacs


Scheme Emacs guenchi •  2019-07-09 • 最后回复来自 physcrf
1

函数式编程

回复#2 @hongson :

有可能


不过我这边看起来是好的


MacOS

Scheme guenchi •  2019-07-07 • 最后回复来自 guenchi
5

切分字符串的方法

还有新的挑战者吗?

Scheme guenchi •  2019-06-21 • 最后回复来自 guenchi
44

Swish并发引擎


https://github.com/becls/swish


一个很有意思的东西 


不同于以往大家看到的库 这个是一个real word的东西


这里是文档:(比较难找)


https://github.co

Scheme 开发 guenchi •  2019-06-20

建一个微信群

现在已经有微信群了 需要加的留一下微信号

Scheme微信群 guenchi •  2019-06-17 • 最后回复来自 macdavid313
14

Chez Scheme速度评测 太炸裂了!!!

回复#6 @physcrf :

我有截图 要去找找

Chez Scheme guenchi •  2019-06-12 • 最后回复来自 guenchi
7

Chez Scheme速度评测 太炸裂了!!!

挂了的那个网站上...

Chez Scheme guenchi •  2019-06-11 • 最后回复来自 guenchi
7

Idris 2 采用Chez Scheme作为后端


Idris 原后端编译为C。


据信采用Chez Scheme作为后端后,速度提高了3-5倍。


非常惊讶和高兴的看到,Scheme居然成为其他语言的编译目标。


项目地址:


https://github.c

Chez Scheme guenchi •  2019-06-10 • 最后回复来自 include
1

Scheme缩进规范


在之前写Scheme的日子里,摸索出了一些缩进的规范(主要参考Chez Scheme源代码),让程序更易读。


因为自己也走了一些弯路,所以这里总结出来分享给大家。


使用两个空格缩进。


我之前使用的4个空格,目的是向Python靠拢(什么破理由?)。但是后来发现,4格虽然有时候的确看起来更清爽,但更多时候,使得一部分程序过

Scheme 缩进规范 guenchi •  2019-06-08

8月18日柏林的scheme workshop 有人参加吗?

注册个会员会便宜不少

Chez Scheme guenchi •  2019-06-08 • 最后回复来自 guenchi
10

8月18日柏林的scheme workshop 有人参加吗?

回复#8 @sughiy :


我还以为 ICFP是包含workshop的...

Chez Scheme guenchi •  2019-06-08 • 最后回复来自 guenchi
10

Raven 工作专贴

回复#20 @黄油香蕉君 :


最初的版本还真是json作为定义... 然后被社区批评了 ... 有S-表达式为什么要用json

Scheme Package Manager Raven guenchi •  2019-06-07 • 最后回复来自 guenchi
22

写一个打印运行时间的方法

回复#3 @physcrf :

代表0 至 N个参数


(procedure ...) =>


程序 guenchi •  2019-06-07 • 最后回复来自 guenchi
4

8月18日柏林的scheme workshop 有人参加吗?

嘿Louis,

Scheme Workshop今年与ICFP(https://icfp19.sigplan.org)合作,如果您有兴趣参加研讨会,您可以通过ICFP注册页面注册参加研讨会(或整个会议)(https://icfp19.sigplan.org/attending/Registration)。 关于参加的其他细节(场地等)都可以从ICFP页面链接。 主要的Scheme Workshop页面(https://thomas.gilray.org/scheme-2019/)有更多细节。

研讨会将于8月18日星期天在柏林举行。

另外值得注意的是,提交

Chez Scheme guenchi •  2019-06-07 • 最后回复来自 guenchi
10
登 录
信息栏

Scheme中文社区

推荐实现 ChezScheme / r6rs / r7rs large
theschemer.org
Q群: 724577239

精华导览

社区项目

包管理器:Raven
HTTP服务器:Igropyr (希腊火)
官方插件:vscode-chez

社区目标:

完善足以使Scheme工程化和商业化的库,特别是开发极致速度的Web服务器和ANN模块。

一直以来Scheme缺少一个活跃的中文社区,同时中文资料的稀少,导致大多数因为黑客与画家和SICP而接触Scheme的朋友,在学完SICP后无事可做,不能将Scheme转换为实际的生产力。最后渐渐的放弃。
同时Chicken等实现,却因效率问题无法与其他语言竞争。本社区只有一个目的,传播Scheme的文明之火,在最快的编译器实现上,集众人之力发展出足够与其他语言竞争的社区和库。


友情链接:

Clojure 中文论坛
函数式·China