接下来我会写一写Scheme的学习笔记。嗯,Scheme是属于小众的语言,但合适用来教学的。

什么是lat,就是遍历list里的每一个S-expression,假设发现当中某个不是atom的,则返回false,否则返回true。

(define atom?

  (lambda (x)

    (and (not (pair?

x)) (not (null? x)))))





(define lat?

(lambda (l)

    (cond

      ((null? l) #t)

      ((atom? (car l)) (lat?

(cdr l)))

      (else #f))))





(lat? '())





(lat? '(jack sprat could eat no chicken fat))





(lat? '((jack) sprat))





(lat?

'(jack (sprat could) eat))

最新文章

  1. 添加系统右键菜单项 管理员取得所有权(W)(带盾牌)
  2. windows 与Linux 互传文件
  3. MSSQL随机数概率测试
  4. .NET基础——循环、枚举
  5. java 数组流
  6. SimpleRpc-序列化与反序列化的设计与实现
  7. require './ex25' can't load such file
  8. postgresql 使用pg_restore时显示role "root" does not exist的解决办法
  9. 详解Vue 非父子组件通信方法(非Vuex)
  10. eclipse中git推送上传错误 没有足够的数据写入
  11. Java中使用HTTP阻塞式调用服务器API
  12. django之 F&Q 聚合与分组
  13. java知识思维图解
  14. 多语言(Java、.NET、Node.js)混合架构下开源调用链追踪APM项目初步选型
  15. [WPF 容易忽视的细节] —— x:Name与Name属性
  16. 如何进行Logstash logstash-input-jdbc插件的离线安装
  17. MongoDB副本集配置系列三:副本集的认证方式
  18. RMQ 区间最大值 最小值查询
  19. 【Hibernate学习笔记-5】@Formula注解的使用
  20. 静态链接库(lib)、动态链接库(dll)与动态链接库的导入库(lib)

热门文章

  1. ListBox控件
  2. CheckBoxList控件
  3. 个人mysql配置命令
  4. 使用java对执行命令行 或 执行bat文件
  5. ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected解决方法
  6. Tuxedo入门学习
  7. Join的实现步骤 以及连接的概念
  8. Servlet的学习之Filter过滤器技术(1)
  9. 使用MDK将STM32的标准库编译成lib使用
  10. 在webform中调用JS的技巧