自定义 cons,car,cdr

Scheme 示例:

(define (my_cons x y)

(lambda (z) (z x y)))

(define (my_car m)

(m (lambda (p q) p)))

(define (my_cdr m)

(m (lambda (p q) p)))

Common Lisp:

(defun my_cons (x y)

(lambda (z) (funcall z x y)))

(defun my_ca_dr (m flag)

(funcall m (lambda (p q)

(cond ((= flag 0) p)

((= flag 1) q)))))

(defun my_car (m) (my_ca_dr m 0))

(defun my_cdr (m) (my_ca_dr m 1))

提示:

Common Lisp使用函数作为变量后,调用该变量时需要使用 funcall,(funcall 函数名 参数列表)。

转载于:https://www.cnblogs.com/qq1144054302/p/10633504.html

蠢货别忘(一)common lisp funcall相关推荐

  1. Practical Common Lisp [个人翻译版]

    1. 引言 ********** Lisp?!啥玩意? ========== 如果你也认为简洁优雅的代码是你的追求,那Lisp就是你的最佳选择. 使用Lisp,你可以写出比其他语言更简洁的代码,同时多 ...

  2. 实用Common Lisp编程——函数

    有了语法和语义规则以后,所有Lisp程序的三个最基本组成部分就是函数.变量和宏.在第3章里构建数据库时,这三个组件已经全部用到了,但是我没有详细提及它们是如何工作的,如何更好使用它们.接下来的几章将专 ...

  3. Common Lisp 初学者快速入门指导

    看了<黑客与画家>,对Lisp语言比较好奇,于是就弄了本<Lisp使用教程>,有空的时候就学习一下.Lisp的实现有很多,我用的Emacs+sbcl+slime,因为网上资料比 ...

  4. Common Lisp 函数 require 和 provide 源代码分析

    2019独角兽企业重金招聘Python工程师标准>>> Common Lisp 函数 require 和 provide 源代码分析 === 涉及文件: l1-files.lisp ...

  5. Common Lisp 超规范(译文):8.结构体

    8. 结构体 8.1 结构体的字典 宏 DEFSTRUCT 函数 COPY-STRUCTURE 宏 DEFSTRUCT 语法(Syntax): defstruct name-and-options [ ...

  6. Common Lisp 超规范(译文):22.打印器

    22. 打印器 22.1 Lisp 打印器 22.2 Lisp 美观打印器 22.3 格式化输出 22.4 打印器的字典 22.1 Lisp 打印器 22.1.1 Lisp 打印器概览 22.1.2 ...

  7. Practical Common Lisp

    Practical Common Lisp Practical Common Lisp

  8. Vim 下使用 Slimv(类似Slime) 轻松调试 Common Lisp

    2019独角兽企业重金招聘Python工程师标准>>> Vim 下使用 Slimv(类似Slime) 轻松调试 Common Lisp 目录 前情回顾 安装slimv 数据配置 默认 ...

  9. Common Lisp语言快速入门

    zhezhelin Common Lisp语言快速入门 Lisp是软件领域的分裂力量.一方面,Lisp爱好者誓言Lisp比软件领域内的其它语言都更加快捷.整洁和强大:而反对者则辩称,不可靠的执行和库支 ...

最新文章

  1. 为VSFTP用户指定登录后的目录.原创测试通过.
  2. linux 主进程 等待,Linux启动与进程
  3. 四、数据仓库和Hive环境搭建
  4. PHP 5.3-5.5 新特性
  5. 移动服务安全现状分析!
  6. 11. Android框架和工具之 Logger(调试代码)
  7. Simulink之门极关断晶闸管(GTO)
  8. C#/.net 中的事件与代理
  9. WCF调试异常信息:找不到类型“”,在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHosting...
  10. 华为机试HJ32:密码截取
  11. php get请求_JWT+PHP实现登录认证+令牌分发的修改
  12. 让系统在内存中高速运行
  13. Android Multimedia框架总结(十八)Camera2框架从Java层到C++层类关系
  14. 再见了我热爱的ACM赛场
  15. 关于Mysql以及Sqlyog的下载以及使用记录
  16. linux centos7 录屏,Centos7录屏工具
  17. 董明珠为什么选择长沙?
  18. 阿里云Docker仓库
  19. 产品管理,产品策划,产品设计
  20. 世界上最简单的会计书(服务行业利润表)

热门文章

  1. KEIL ARM 6.12 compiler 编译__ASM 错误的解决方法
  2. document.compatMode的CSS1compat
  3. [GAN学习系列] 初始GAN
  4. 洛谷4951 地震 bzoj1816扑克牌 洛谷3199最小圈 / 01分数规划
  5. jdk1.7 String switch的实现
  6. pgd 游戏教程 基地
  7. JS~~~ 前端开发一些常用技巧 模块化结构 命名空间处理 奇技淫巧!!!!!!...
  8. 6月26号.NET面试题(程序题部分)只要做懂这3道题肯定能脱离菜鸟称号!
  9. 注册和登录还有那个加密的密码
  10. 【转载】Linux中断处理学习笔记