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

Scheme相关论文集

https://guenchi.github.io/Scheme/


Scheme 精华 资料 guenchi •  置顶

Scheme在工程化和商业化上的应用有哪些

https://libfive.com/studio/


http://www.mattkeeter.com/projects/ao/

Scheme guenchi •  置顶 • 最后回复来自 guenchi
17

是否已有人对ChezScheme编译器源码进行解读?

最近在写一个编译器 倒是狠看了一阵Chez的源码


感想:叹为观止


syntax.ss里面几千行一个的函数 /擦汗

目前还在啃nanopass

Scheme 学习 编译 资料 guenchi •  置顶 • 最后回复来自 guenchi
7

Raven 工作专贴

回复#22 @guenchi :

好的 谢谢提交bug

Scheme Package Manager Raven guenchi •  置顶 • 最后回复来自 guenchi
25

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

回复#3 @暗中观察 :

用wsl啊 很好用的

C Chez Scheme 学习 提问帖 guenchi •  置顶 • 最后回复来自 guenchi
4

let over lambda

> (define foo     (lambda (n)       (let ((x n))         (lambda (i)           (+ x i))))) > (define acc (foo 3)) > (acc 1) 4 > (acc 10) 13 > (acc 0) 3 >


Scheme 学习 guenchi •  置顶 • 最后回复来自 guenchi
2

欢迎试用 Chezure

Chez 推广 正则表达式 guenchi •  置顶 • 最后回复来自 guenchi
1

let over lambda

> (define f     (lambda (x)       (define y 0)       (set! y (+ x y))       y)) > (f 1) 1 > (f 2) 2 > (f 3) 3 > (f 4) 4 > (define g     (let ((y 0))       (lambda (x)         (set! y (+ x y))         y))) > (g 1) 1 > (g 2) 3 > (g 3) 6
Scheme 学习 guenchi •  置顶 • 最后回复来自 guenchi
2

Chez Scheme 黑魔法

(#%$assembly-output #t)


#ICFP2019Akeep爆料

Scheme guenchi •  置顶 • 最后回复来自 qww6
1

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

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

C Chez Scheme 学习 提问帖 guenchi •  置顶 • 最后回复来自 guenchi
4

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


首先看待一个问题


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


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


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


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


这一点也是没有问题的。


那么问题在哪呢?


学习 guenchi •  置顶 • 最后回复来自 sughiy
5

函数式编程

感谢提供bug


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


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

Scheme guenchi •  置顶 • 最后回复来自 guenchi
5

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

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


前面提到

Chez guenchi •  置顶 • 最后回复来自 sughiy
3

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

多值返回一般有几种方式

1. 返回list (或者vector)

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

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

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

3. (values)

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

Chez guenchi •  置顶 • 最后回复来自 sughiy
3

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

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


https://github.com/guenchi/Emacs


Scheme Emacs guenchi •  置顶 • 最后回复来自 physcrf
1

函数式编程

回复#2 @hongson :

有可能


不过我这边看起来是好的


MacOS

Scheme guenchi •  置顶 • 最后回复来自 guenchi
5

切分字符串的方法

还有新的挑战者吗?

Scheme guenchi •  置顶 • 最后回复来自 guenchi
44

Swish并发引擎


https://github.com/becls/swish


一个很有意思的东西 


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


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


https://github.co

Scheme 开发 guenchi •  置顶

建一个微信群

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

Scheme微信群 guenchi •  置顶 • 最后回复来自 macdavid313
14
登 录
信息栏

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