[Scheme]Understanding the Yin-Yang Puzzle】的更多相关文章

这题目确实比较杀脑细胞... 原题: (let* ((yin ((lambda (cc) (display "@") cc) (call-with-current-continuation (lambda (c) c)))) (yang ((lambda (cc) (display "*") cc) (call-with-current-continuation (lambda (c) c))))) (yin yang)) 它会输出“@*@**@***@****@*…
本篇分析continuation的一个著名例子"阴阳迷题",这是由David Madore先生提出的,原谜题如下: (let* ((yin ((lambda (foo) (display "@") foo) (call/cc (lambda (bar) bar)))) (yang ((lambda (foo) (display "*") foo) (call/cc (lambda (bar) bar))))) (yin yang)) 这里引用了h…
call/cc 总结 | Scheme 来源 https://www.sczyh30.com/posts/Functional-Programming/call-with-current-continuation/ Continuation Continuation 也是一个老生常谈的东西了,我们来回顾一下.首先我们看一下 TSPL4 中定义的表达式求值需要做的事: During the evaluation of a Scheme expression, the implementation…
开始学习Scheme   函数式编程(Functional Programming)是在MIT研究人工智能(Artificial Intelligence)时发明的,其编程语言为Lisp.确切地说,Lisp是一个语言家族,包括无数的方言如:Scheme.Common Lisp.Haskell……等等.   最后一次学习Scheme已经是去年7月份的事情了.本来只是出于兴趣,以及拓宽自己思路的目的来学习.未曾想,由于工作需要,Scheme编程已经成为一个必备的技能了.其实这里面也由办公室政治的原因…
这个解释器可以用来跑前面两篇文章的例子,所以一并扔出来,三部曲哈哈. Lisp内置的S-expression相当于解析好的语法树,而借助quasiquote和unquote又很容易进行语法树层面的变换,所以Lisp的自举和扩展都很容易. 相对而言,其他语言有入门教材就讲怎么实现语言自身的解释器的吗?至少命令式语言恐怕不容易,尤其是中缀表示法的语言,Parser这一关会卡死很多人. 这个解释器的典型特性包括currying.call/cc,所以可以用来跑前面的lambda calculus和yin…
本文来自网易云社区 作者:陆艺 上学时看了SICP之后就对scheme这个看上去比较古怪的语言产生了兴趣. 虽然书里并没有涉及scheme太多语法以及语言上特性的一些东西, 作为一个喜欢折腾的人, 手贱翻了翻Google, 了解到有continuation这样一个吊吊的东西, 于是借着有限的脑力学习了下. 基本概念 continuation的中文一般都叫做"续延"(还蛮好听的), 不过解释起来比较麻烦, 还是结合代码来看更好理解一点. 首先scheme里的continuation(太长…
Rust 阴阳谜题,及纯基于代码的分析与化简 雾雨魔法店专栏 https://zhuanlan.zhihu.com/marisa 来源 https://zhuanlan.zhihu.com/p/52249705 0. 前(请务必跳过) 之前用 Haskell 通过 Cont Monad 模拟过 call/cc (实际上在阴阳谜题中用作 get-current-continuation,这里我们只讨论 get/cc),但似乎确实是搞个 DSL 再模拟. 但我是觉得这和动态类型其实关系不大,只是通常…
RESEARCH TRACK PAPERS - ORAL Title & Authors NetCycle: Collective Evolution Inference in Heterogeneous Information NetworksAuthor(s): Yizhou Zhang*, Fudan University; Xiong Yun, ; Xiangnan Kong, Worcester Polytechnic Institute; Yangyong Zhu, Fudan Un…
The Shapes of CSS All of the below use only a single HTML element. Any kind of CSS goes, as long as it's supported in at least one browser. Square     Rectangle     Circle     Oval     Triangle Up     Triangle Down     Triangle Left     Triangle Righ…
今天遇到一个问题是往 SQL Server 中导入像m².m³这样的单位数据,可是在 SQL Server 中查看到的都是 m2.m3,于是在网上查了一下资料,顺便摘录下来供日后查阅. 一  Windows 系统下快速键入一些特殊字符 ALT+小键盘0153        ™ ALT+小键盘0169        © ALT+小键盘0174        ® ALT+小键盘0177        ± ALT+小键盘0178        ² ALT+小键盘0179        ³ ALT+小键…