蠢货别忘(一)common lisp funcall
自定义 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相关推荐
- Practical Common Lisp [个人翻译版]
1. 引言 ********** Lisp?!啥玩意? ========== 如果你也认为简洁优雅的代码是你的追求,那Lisp就是你的最佳选择. 使用Lisp,你可以写出比其他语言更简洁的代码,同时多 ...
- 实用Common Lisp编程——函数
有了语法和语义规则以后,所有Lisp程序的三个最基本组成部分就是函数.变量和宏.在第3章里构建数据库时,这三个组件已经全部用到了,但是我没有详细提及它们是如何工作的,如何更好使用它们.接下来的几章将专 ...
- Common Lisp 初学者快速入门指导
看了<黑客与画家>,对Lisp语言比较好奇,于是就弄了本<Lisp使用教程>,有空的时候就学习一下.Lisp的实现有很多,我用的Emacs+sbcl+slime,因为网上资料比 ...
- Common Lisp 函数 require 和 provide 源代码分析
2019独角兽企业重金招聘Python工程师标准>>> Common Lisp 函数 require 和 provide 源代码分析 === 涉及文件: l1-files.lisp ...
- Common Lisp 超规范(译文):8.结构体
8. 结构体 8.1 结构体的字典 宏 DEFSTRUCT 函数 COPY-STRUCTURE 宏 DEFSTRUCT 语法(Syntax): defstruct name-and-options [ ...
- Common Lisp 超规范(译文):22.打印器
22. 打印器 22.1 Lisp 打印器 22.2 Lisp 美观打印器 22.3 格式化输出 22.4 打印器的字典 22.1 Lisp 打印器 22.1.1 Lisp 打印器概览 22.1.2 ...
- Practical Common Lisp
Practical Common Lisp Practical Common Lisp
- Vim 下使用 Slimv(类似Slime) 轻松调试 Common Lisp
2019独角兽企业重金招聘Python工程师标准>>> Vim 下使用 Slimv(类似Slime) 轻松调试 Common Lisp 目录 前情回顾 安装slimv 数据配置 默认 ...
- Common Lisp语言快速入门
zhezhelin Common Lisp语言快速入门 Lisp是软件领域的分裂力量.一方面,Lisp爱好者誓言Lisp比软件领域内的其它语言都更加快捷.整洁和强大:而反对者则辩称,不可靠的执行和库支 ...
最新文章
- 为VSFTP用户指定登录后的目录.原创测试通过.
- linux 主进程 等待,Linux启动与进程
- 四、数据仓库和Hive环境搭建
- PHP 5.3-5.5 新特性
- 移动服务安全现状分析!
- 11. Android框架和工具之 Logger(调试代码)
- Simulink之门极关断晶闸管(GTO)
- C#/.net 中的事件与代理
- WCF调试异常信息:找不到类型“”,在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHosting...
- 华为机试HJ32:密码截取
- php get请求_JWT+PHP实现登录认证+令牌分发的修改
- 让系统在内存中高速运行
- Android Multimedia框架总结(十八)Camera2框架从Java层到C++层类关系
- 再见了我热爱的ACM赛场
- 关于Mysql以及Sqlyog的下载以及使用记录
- linux centos7 录屏,Centos7录屏工具
- 董明珠为什么选择长沙?
- 阿里云Docker仓库
- 产品管理,产品策划,产品设计
- 世界上最简单的会计书(服务行业利润表)
热门文章
- KEIL ARM 6.12 compiler 编译__ASM 错误的解决方法
- document.compatMode的CSS1compat
- [GAN学习系列] 初始GAN
- 洛谷4951 地震 bzoj1816扑克牌 洛谷3199最小圈 / 01分数规划
- jdk1.7 String switch的实现
- pgd 游戏教程 基地
- JS~~~ 前端开发一些常用技巧 模块化结构 命名空间处理 奇技淫巧!!!!!!...
- 6月26号.NET面试题(程序题部分)只要做懂这3道题肯定能脱离菜鸟称号!
- 注册和登录还有那个加密的密码
- 【转载】Linux中断处理学习笔记