惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
I
InfoQ
Jina AI
Jina AI
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
量子位
月光博客
月光博客
罗磊的独立博客
雷峰网
雷峰网
The Cloudflare Blog
V
V2EX
小众软件
小众软件
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题

Lisp

大佬们有没有推荐 lisp 的资料,最好是 ansi lisp Lem 编辑器, Emacs 的继任者 请问 lisp people, 哪些能力是只有宏能实现,而函数不能实现的? 试了试缩进语法写 Lisp 是什么原因没有让 lisp 进入工业界(公司)的首选语言呢 一款 lisp 写的基于 GPU 渲染的编辑器 SICP 走起 The Humble Book Bundle: be a coder scheme 一个好玩的开源库 lambda calculus 解决了什么问题? 为什么会出现这个理论? 为什么说它很有价值? 哪里可以找到关于 ANSI Common Lisp 中函数名字的由来? Ask Him Anything: Lisp 社区的核心贡献者 - Kartik Agaram 怎么看 Clozure Common Lisp 的 image 的内容? 写了一份 Racket/Emacs 的入门配置指南 Scheme 与 Church Number 用过 racket 的进,其实只要你觉得有兴趣的都可以过来看看 又一个玩具 Scheme 解释器,使用 Python 编写 我使用 GNU Common Lisp 开始 Lisp 的学习 在读 On Lisp 学Clojure的朋友们快去做4clojure啊! Exercise SICP in Lua 想给身边的人推荐lisp但是发现接受的很少 Lisp 的 Vim 插件有什么推荐? 有人关注ansi common lisp么?可以看一下豆瓣上的这两个贴 SICP一書學完大約要多長時間? 看了《黑客与画家》就觉得Lisp很强大要去学一下的人弱爆了,你们到底看没看明白作者的中心主旨是什么? 求lisp的一些简单demo 有对Lisp感兴趣的不? 自从看了黑客与画家就对这个很神往,除了AutoLisp有没有别的著名的应用呢? 有人学或用Lisp的吗? a haiku
[101]如何在迭代展开过程中输出中间数据?
ZoomQuiet · 2018-01-05 · via Lisp

俺是 Lisp 初学者, 先从 Scheme 建立函式语言的感觉,

刚刚开始刷: The Little Schemer - 4th Edition (豆瓣)

环境:

; member? _v1 尝试将探索过程打印出来
(define iter4cond ())  ; 声明寄存容器

(define member1?    ; 声明函式
  (lambda (a lat)  ; 绑定匿名函式, 接收参数 a lat
    (set! iter4cond (cons iter4cond lat)) ; ???
    (cond          ; 系列 if 判定
      ((null? lat) #f) ; 法则->先检验 目标原子是否为空? 是, 直接退出并返回 #f
      (else (or        ; 否则 or 一下两种对比
             ;(define lat1st (car lat))
             ;(display lat1st)
                (eq? (car lat) a)      ; 第一个成员是否和 对比原子相同?
                ;(eq? lat1st a)      ; 第一个成员是否和 对比原子相同?
                (member1? a (cdr lat))  ; 对其它成员使用 member 进行检验
                )
            )
     )
    )
  )

  • member1? 是一个基础的自定函式, 来判定指定原子是否存在目标列表中
  • 俺想将迭代过程打印出来,
  • 结果发现 cond 多条件判定语句中,
  • 无论 null? eq? 或是迭代的 member1?
  • 本质上都是退出行为, 根本无法同时打印出对比过程来;

所以, 不得不用过程语言的方法, 通过全局列表收集过程中的数据,

再另外打印:

比如:

(define lat `(fried eggs and scrambled egg))
(define b 'and)
(member1? b lat)
=> #t

iter4cond

才能输出:

(((() fried eggs and scrambled egg) eggs and scrambled egg) and scrambled egg)

可能还得另外构建合理的可视化输出函式,

所以, 俺的问题是, 这种场景中, 是否可以在计算过程中, 安全输出中间数据, 而又不干挠正常的迭代展开?