Scheme缩进规范

By guenchi at 置顶 • 0人收藏 • 265人看过


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


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


  1. 使用两个空格缩进。


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


  2. if的对齐方式


    if后的test表达式不提行,true表达式和false表达式与test表达式的括号对齐。

  3. (if (test)
        (ture)
        (false))

    而不是按照两格缩进

    (if (test)
      (ture)
      (false))
  4. let的对齐方式同if

    (let ((x x)(y y))

          (a ...)

          (b ...)

          (c ...))




复杂嵌套下的缩进例子,请参考这个

https://github.com/guenchi/ChezJS/blob/4f56a317543c72c8f162da11071138dde124bb70/compiler.sc#L89



正在编辑


登录后方可回帖

登 录
信息栏

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


Loading...