腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
发现
Common
Lisp
的“核心”实体和
宏
、
、
、
在
阅读Peter Seibel的"Practical
Common
Lisp
“时,我了解到除了列表处理和求值等语言的核心部分之外,还有loop、do等
宏
就是使用这些核心结构
编写
的。首先,
Lisp
的“核心”到底是什么?如果需要,可以重新创建其他内容的最低要求是多少?第二部分是在哪里可以看到
宏
的代码,这些
宏
作为
Common
Lisp
的一部分,但实际上是用
Lisp
编写
的?作为一
浏览 0
提问于2017-10-28
得票数 4
3
回答
在
Common
Lisp
中
重命名lambda
、
、
我最近开始学习
Common
Lisp
,并(只是为了好玩)决定将lambda
宏
重命名。args ,@body))> (macroexpand-1 '(λ (x) (* x x)))但是当它嵌套在表达式
中
时> ((λ (x) (* x x)) 2)我可能遗漏了一些关于
宏
浏览 0
提问于2012-03-05
得票数 12
回答已采纳
5
回答
为什么
LISP
defun不需要在其参数参数之前加上引号?
、
、
使用这个函数: (> (+ x y) z))假设定义defun的函数以某种方式覆盖了列表的标准
LISP
计算?
浏览 1
提问于2010-11-16
得票数 13
回答已采纳
2
回答
为什么要对lambda使用#‘?
、
、
为什么我要把#‘和lambda一起使用?它通常是这样写的,所以我猜它是一种很好的形式。但对我来说,这几行似乎是相等的:(2 3 4)(2 3 4)
浏览 0
提问于2009-05-26
得票数 14
回答已采纳
1
回答
使用MACROLET重写特殊运算符?
、
我尝试
在
本地覆盖IF (目的是嵌入DSL)。(macrolet ((if (x) x)) (let ((x 2)) (MACROLET ((IF (X) (IF 'X)) Lock on package
COMMON
-
LISP</
浏览 0
提问于2020-03-01
得票数 0
8
回答
用
Common
Lisp
语言
编写
++
宏
、
、
出于语义方面的原因,我一直
在
尝试
编写
一个
Lisp
宏
,它的性能相当于其他编程语言中的++。我尝试过几种不同的方法,但似乎都不起作用,而且都被解释器接受,所以我不知道我的语法是否正确。
浏览 1
提问于2008-09-15
得票数 6
回答已采纳
3
回答
宏
调用函数
在
解释器
中
工作,在编译器
中
失败(SBCL + CMUCL)
、
、
按照
中
的建议,我通过调用函数
编写
了一个名为"fast“的
宏
(progn (format t "~A~%" (fast (+ 1 2 (* 3 4) (+ 5 (- 8 6)))))))$ sbcl:This is SBCL 1.0.52,
浏览 0
提问于2011-11-15
得票数 2
回答已采纳
1
回答
用于"let“的通用
Lisp
宏
以匹配Clojure
、
、
Clojure的let比用较少括号的
Common
更简洁:(let [a 1 b 2] (let ( (a 1) (b 2))如何用通用
Lisp
编写
宏
以使其等价?
浏览 2
提问于2014-07-18
得票数 3
回答已采纳
2
回答
如何用
common
lisp
编写
宏
定义
宏
、
、
我的代码库中大约有两个
宏
(还在不断攀登),看起来像这样: `(progn (setf (getf (energies monster) ,stat) value))))我想要一个
宏
(def-fo
浏览 0
提问于2010-06-26
得票数 10
回答已采纳
3
回答
当我们修改
Common
Lisp
宏
时,为什么需要重新编译使用它的定义呢?
、
、
为什么当我们修改
Common
Lisp
宏
时,也需要重新编译使用
Common
Lisp
宏
的定义(显然,除了重新编译修改后的
Common
Lisp
宏
之外)? 提前谢谢。
浏览 2
提问于2013-06-07
得票数 8
回答已采纳
5
回答
Lisp
中
的编译器设计
通过谷歌搜索,我可以很容易地在编译器设计中找到C、Java和C#
中
的一些文档,甚至
在
哈斯克尔
中
也能找到一些文档,但除了
在
Lisp
中
实现方案/
Lisp
之外,
在
Lisp
中
没有找到这些文档。
Lisp
在
实现其他(非功能性)编程语言方面不那么流行吗?您知道一些关于
在
LISP
中
实现编译器的好文档吗?
浏览 0
提问于2012-08-31
得票数 9
回答已采纳
1
回答
宏
是否可以用来与任意数量的car和cdr调用进行c[...]r组合,比如cadaddr?
、
、
、
、
显然,
在
默认情况下,Scheme不允许
在
单函数形式中使用超过四个简化的car和cdr调用的任何car和cdr组合。我最初将其归咎于Scheme的极简主义,但后来我发现
Common
Lisp
also shares this defect。 这个问题可以用
宏
来解决吗?我们是否可以
编写
一个
宏
,允许在其c[...]r调用中使用任意数量的a和d,并返回预期的结果,同时还能与setf等
宏
保持
Common
Lisp
风格的兼容性?
浏览 9
提问于2021-01-30
得票数 0
回答已采纳
1
回答
宏
参数的破坏“真的需要”吗?
、
、
我知道
在
LISP
宏
参数
中
破坏是一件很好的事情;我想知道这是否必要。我的猜测是,析构可以使代码更易于
编写
/理解,但使用它的任何代码都可能被转换为不使用的代码。我是对的还是这是一个愚蠢的初学者的错误?
浏览 2
提问于2012-02-01
得票数 2
回答已采纳
3
回答
被
Lisp
引用搞糊涂了
、
、
我有一个关于
lisp
中
列表评估的问题。我可以
在
我的
lisp
程序
中
定义这样的函数吗?
浏览 1
提问于2012-03-24
得票数 4
回答已采纳
4
回答
Clojure、Scheme/ between和
Common
Lisp
有什么不同?
、
、
、
、
我知道它们是同一个叫做
lisp
的语言家族的方言,但是它们到底有什么不同呢?如果可能的话,你能给出一个概述,包括语法,特征,功能和资源等主题。
浏览 3
提问于2012-06-27
得票数 135
回答已采纳
2
回答
将
Common
Lisp
中
的
宏
参数视为(区分大小写)字符串
、
、
、
(这是那些看起来应该很简单的事情之一,我想可能会有更好的方法) 我正在尝试定义一个
宏
(用于CLISP),它接受可变数量的参数作为符号(然后将其转换为区分大小写的字符串)。
浏览 1
提问于2012-02-19
得票数 3
1
回答
不带段落的常见
Lisp
宏
和不常见的调用语法
、
我想知道一个人如何用
Common
Lisp
编写
宏
,让他
在
调用前者时放弃
Lisp
表单。例如,假设我有以下
宏
: `(setf (ningle:route ,app ,uri :method如果想要
编写
一个可以像这样调用的
宏
,该怎么办:或者像这
浏览 1
提问于2018-04-05
得票数 1
5
回答
Clojure和
Lisp
之间有很大的语法差异吗
、
、
我想学习一门新的语言,我想从
Lisp
开始。我想知道,如果我学习
Lisp
,我是否也知道Clojure (只需很少的努力),
Lisp
和Clojure之间有很大的语法差异吗?
浏览 3
提问于2011-01-14
得票数 14
回答已采纳
3
回答
为什么没有用通用
Lisp
编写
的通用
Lisp
实现?
、
我学到了Smalltalk是一个在其本身
中
实现的反射系统的伟大思想。我发现Ruby有,但是当我寻找用
Lisp
编写
的实现时,我找不到类似的东西。似乎没有用CL
编写
的CL发行版。
在
与CLOS和slime共同的
Lisp
中
,您可以使用Smalltalk开发环境完成所有可以做的事情。 但是我有一个问题,一个
Common
实现本身是否对
Common
有用?或者不会为语言添加任何特殊的东西,因为同象似性、
宏
和MOP都可以处理。为什么不
浏览 1
提问于2018-08-10
得票数 7
回答已采纳
2
回答
具有良好的多维数组编程支持的Lispy方言
、
、
、
、
有没有对数组和线性代数操作有很好支持的
Lisp
或scheme语言?我所说的良好支持并不是指对BLAS/LAPACk的接口,而是指语言本身
中
的高效数组原语。我听说过斯大林速度非常快,但我对
lisp
还很陌生,也不熟悉这种语言中多维数组
在
语法上的便捷操作和高效表示。指针(不是双关语)将深受欢迎,特别是如果有个人经验支持的话。
浏览 1
提问于2011-07-15
得票数 8
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券