首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我的第一个Lisp宏; 它漏了吗?

您好!您提到的问题是关于Lisp宏。Lisp是一种通用的、基于表达式的编程语言,它的宏系统允许用户定义可以在编译时展开的代码模板。Lisp宏可以用于创建具有高级语法的宏,从而使代码更简洁、更具可读性。

关于您的问题,如果您的Lisp宏没有按预期工作,可能是由于以下原因:

  1. 语法错误:请检查您的宏定义和使用是否符合Lisp语言的语法规则。
  2. 展开错误:请确保您的宏在编译时被正确展开。您可以使用Lisp编译器的调试选项或在代码中添加调试语句,以便更好地了解宏展开的过程。
  3. 作用域问题:请确保您的宏在正确的作用域内可用。在Lisp中,作用域是一个重要的概念,可以影响宏的可见性和可用性。

如果您需要更多关于Lisp宏的信息,请随时提问。我会尽力帮助您解决问题。

相关搜索:带有宏的第一个Lisp?任务控制中心的行为暴露了吗?我该如何破解它?我能用它的音频文件编译python文件,这样别人就看不到它的代码了吗?宏可以很好地复制数据,直到找到重复的数据。我想让它复制副本我运行的任务在第一个InputDialog后停止工作,我如何修复它?我的第一个应用程序不工作,它崩溃了: UnsupportedOperationException如果impex宏是字符串的一部分,我如何强调它?我无法执行我的第一个web套接字,因为它返回一个关闭的连接我的Broadcastreceiver似乎检测到呼叫结束,但仍然没有做它应该做的事情。有人看到我代码中的缺陷了吗?我在django的评论表单不工作了吗?它既没有向数据库发送数据,也没有显示这些数据?每当用户在我的音乐机器人中发送消息时,它只接受第一个单词。我想让它取整首歌的名字片段导航问题。单击我的第二个片段,它仍然显示我的第一个片段选项卡睡眠:(睡眠或usleep)在Linux中没有挂起我线程中的所有东西,但在Windows中它确实挂起了吗?为什么?为什么我的验证窗体在第一个if语句后给出true,而它应该给出false我的应用程序显示为谷歌play.But上的穿戴操作系统开发人员增强了,我为Phones.What开发的它出错了吗?你能解决我的问题吗链接不起作用,但当我从控制台复制粘贴链接时,它起作用了吗?我需要一些弱熵.我知道我可以使用一个单元化缓冲区,但如果我只需要一个整数值,它的地址就足够了吗?在拼接Python列表时,我如何指定希望它创建包括第一个指定元素之后的所有元素?当DIV的第一个实例有时上面出现另一个div时,我如何隐藏它?python pygame动画在没有类的情况下工作,但是一旦我把它放到一个类中,它就不想工作了吗?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Lisp本质(The Nature of Lisp)学习思考

一个语言发明人, 居然不肯用心弄出一套漂亮语法, 那谁还会愿意学。反正, 是确确实实被那些难看无数括号搞蒙了。 回过神来之后, Lisp社区那伙人交谈, 诉说沮丧心情。...好吧, 来试一下。这篇文章就是尝试结果。要用熟悉直观方法来解释Lisp, 希望有勇气的人读完, 拿杯饮料, 深呼吸一下, 准备被搞得晕头转向。来吧, 愿你获得大能。...其实, Lisp源码就是特定一种表, 好比Ant源码是一种特定XML一样。Lisp执行表顺序是这样, 表第一个元素当作函数, 其他元素当作函数参数。...*, 3, 4 我们可以用一个内置函数head来返回表第一个元素, tail函数来返回剩余元素组成表。...(macro-name (+ 4 5)) 这里, (+ 4 5)作为一个表传递给, 然后就可以任意处理这个表, 当然也可以对求值。返回值是一个表, 然后有程序作为代码来执行。

1.7K60

为什么Lisp语言如此先进?(译文)

思想8和思想9,意味着你可以写出一种能够自己编程程序。这可能听起来很怪异,但是对于Lisp语言却是再普通不过。最常用做法就是使用。 术语""在Lisp语言中,与其他语言中意思不一样。...Lisp无所不包,既可能是某样表达式缩略形式,也可能是一种新语言编译器。如果你想真正地理解Lisp语言,或者想拓宽你编程视野,那么你必须学习。...就所知,(采用Lisp语言定义)目前仍然是Lisp独有的。一个原因是为了使用,你大概不得不让你语言看上去像Lisp一样古怪。...但是,在我看来,这两种写法好像都比第一个版本更复杂。...代码中其他任何外加形式,都是一个信号,(至少对来说)表明对问题抽象还不够深,也经常提醒,自己正在手工完成事情,本应该写代码,通过扩展自动实现。 (完)

1.2K60
  • 深入浅出 Babel 下篇:既生 Plugin 何生 Macros

    前言 想我们对并不陌生,因为很多程序员第一门语言就是 C/C++; 一些 Lisp 方言也支持(如 Clojure、Scheme), 听说它们写起来很优雅;一些现代编程语言对也有一定支持...所以反过来推导,之所以C语言需要,正是因为C语言表达能力太弱了。 语法扩展式 真正起源于Lisp. 这个得益于Lisp语言本身一些特性: ? 语法非常简单。...通过上面的示例,你会感叹Lisp实现竟然如此清奇,如此简单。搞得想跟着题叶学一波Clojure,但是后来学了Elixir ?. ?...Lisp灵活性得益于简单语法(S-表达式可以等价于AST),对于复杂语法语言(例如Javascript),要实现类似Lisp就难得多....Lisp 一个关键技术点。

    1.5K31

    不管是嵌套 XML,还是 Lisp 嵌套括号,还是 XXX Map 数据结构,一切都是树形结构——映射。Lisp本质(The Natur

    一个语言发明人, 居然不肯用心弄出一套漂亮语法, 那谁还会愿意学。反正, 是确确实实被那些难看无数 括号搞蒙了。 回过神来之后, Lisp社区那伙人交谈, 诉说沮丧心情。...几个月来, 承受着这些Lisp辩护士对心灵重压。一度陷入了困惑。认识一些绝顶聪明的人, 对他们相当尊敬, 看到他们对Lisp赞美达到了宗教般高度。...好吧, 来试一下。 这篇文章就是尝试结果。要用熟悉直观方法来解释Lisp, 希望有勇气的人读完, 拿杯饮料, 深呼吸一下, 准备被搞得晕头转向。来吧, 愿你获得大能。...其实, Lisp源码就是特定一种表, 好比Ant源码是一种特定XML一样。 Lisp执行表顺序是这样, 表第一个元素当作函数, 其他元素当作函数参数。...(macro-name (+ 4 5)) 这里, (+ 4 5)作为一个表传递给, 然后就可以任意处理这个表, 当然也可以对求 值。返回值是一个表, 然后有程序作为代码来执行。

    1.4K20

    excel编程 c语言,(巨集)

    大家好,又见面了,是你们朋友全栈君。 (Macro, 巨集),是一种批处理称谓。 计算机科学里是一种抽象(Abstraction),根据一系列预定义规则替换一定文本模式。...Lisp类语言如Common Lisp和Scheme有更精巧系统: 行为如同是函数对自身程序文本变形,并且可以应用全部语言来表达这种变形。...例如,一种 Lisp 方言有 cond 而没有 if ,就可以使用由前者定义后者。Lisp 语法去部主要扩展,比如面向对象 CLOS 系统,可以由来定义。...Emacs 最初被设计为编辑语言 TECO 集,后被移植为 Lisp 一种方言 Emacs Lisp。Vim也允许用户录制和播放简单键盘。...但由上面的定义,完全不是一种语言。然而,功能已经从中发展并最终替代了用户应用程序思想,所以它被广泛地错误地称为是一种语言。 VBA可以访问许多操作系统函数并支持文档打开时自动执行

    1.6K20

    Clojure 开发那些事

    除了最基本圆括号()外,方括号[]与花括号{}在 Clojure 用也比其他 Lisp 方言中多。...,发现一个特点,Lisp 语言英文介绍往往过于精炼,不适合初学者直接阅读,为了夯实基础,还是建议大家找本书来看,看书好处是不仅仅知道某个知识点,更重要是了解不同知识点之间区别与联系,初学期间,...Emacs + Cider 组合相比 Intellj + Cursive 最大优势就是对支持,Cider 提供了对展开快捷键,但在 Cursive 中没找到,不过也是比较高级功能,初学者应用用不到...,最好带着 issue 里面的问题去看代码,说不定你就从使用者变成了开发者呢,第一个尝试给了 http-clj。...Intellj Debug Mode 借助于 IDE 优势,我们可以打断点,一步一步调试,但是 Cursive 对支持比较有限,目前出来把展开外,没找到好调试好方法。

    1.6K20

    Clojure与LispClojure与Lisp

    对于 大多数人来说,语法过于诡异了. Clojure 修正上面的大多数这些问题. 保留了 lisp 思想和哲学,并同时清除了过去很多限制....Lisp Lisp语言刚出现时候,思想与其他编程语言大相径庭。后者设计思想主要由50年代后期硬件决定。随着时间流逝,流行编程语言不断更新换代,语言设计思想逐渐向Lisp靠拢。...它们从此使得Lisp看上去很古怪,但也成为了这种语言最独一无二特点。 Lisp古怪形式,倒不是因为语法很古怪,而是因为根本没有语法,程序直接以解析树(parse tree)形式表达出来。...思想8和思想9,意味着你可以写出一种能够自己编程程序。这可能听起来很怪异,但是对于Lisp语言却是再普通不过。最常用做法就是使用。 术语""在Lisp语言中,与其他语言中意思不一样。...Lisp无所不包,既可能是某样表达式缩略形式,也可能是一种新语言编译器。如果你想真正地理解Lisp语言,或者想拓宽你编程视野,那么你必须学习

    1.9K30

    一名ClojurianEmacs配置

    类似地,.vimrc配置文件在网络上也多如牛毛,华丽和酷炫插件极大地提升了vim操作性。尽管如此,还是乐于一砖一瓦地打造自己vim环境,竭力演化变成心目中“编辑器之神”。...这个过程一般会充满修改然后重启重复性机械劳作,偶尔会遭遇无论怎么修改就是不生效、甚至遍寻google也一无所获挫折,但是就是无法厌倦。...这就不得不提起Clojure这门lisp方言,出于对lisp和函数式编程痴迷,选择了基于JVMClojure作为自己偏好语言,而emacs天生为lisp而生。...,顾名思义,多个包下载源,给package-archives设置了5个包源,它们之间服从顺序优先级,即先从第一个源中下载包,如果没有,到第二个源中寻找,以此类推。...当你正在编译文件时候,包中就会原地展开,然后被eval-when-compile加载进内存并被编译成字节码,供后续解析器执行。

    2.7K20

    clojure基础入门(一)

    阅读目录: 概述 变量 运算符 流程控制 总结 概述 clojure是一种运行在JVM上Lisp方言,属于函数式编程范式,和java可以方便互相调用,这样开发程序可以很好结合java和clojure...函数式编程中以函数为第一类对象,其小括号后面第一个元素被Clojure解释器当成一个函数或,其后面的都会被当成参数,如上"hello world"是被当成参数传入str函数进行输出。...函数 clojure中以函数为第一类对象,其小括号后面第一个元素被Clojure解释器当成一个函数或,其后面的都会被当成参数。...clojure中(lisp习惯)有个规定:对于判断功能函数,函数名后面都有一个“?”号。所以只要看到后面带问号函数名,就知道这一定是一个判断语句。 user=> (fn?...(macro)           Clojure中几乎所有的函数和都是用Clojure代码实现,关于后面再说。

    1.5K30

    clojure基础入门(一)

    阅读目录: 概述 变量 运算符 流程控制 总结 概述 clojure是一种运行在JVM上Lisp方言,属于函数式编程范式,和java可以方便互相调用,这样开发程序可以很好结合java和clojure...函数式编程中以函数为第一类对象,其小括号后面第一个元素被Clojure解释器当成一个函数或,其后面的都会被当成参数,如上"hello world"是被当成参数传入str函数进行输出。...函数 clojure中以函数为第一类对象,其小括号后面第一个元素被Clojure解释器当成一个函数或,其后面的都会被当成参数。...clojure中(lisp习惯)有个规定:对于判断功能函数,函数名后面都有一个“?”号。所以只要看到后面带问号函数名,就知道这一定是一个判断语句。 user=> (fn?...(macro)           Clojure中几乎所有的函数和都是用Clojure代码实现,关于后面再说。

    1.3K40

    Clojure 学习入门(1)—— 学习资料

    与其他Lisp一样,Clojure认为代码即数据,同时有复杂系统。 Clojure 理念和特性 Clojure是什么,为什么有人要学这门语言?...第一个对外发行版是在2007年秋季时候发布,在2009年5月发行了第一个稳定版,到这个时候,已经培育了一个活跃、充满热情社区,一个欣欣向荣开发工具和类库生态系统,它们被用在迅速增长一系列专业应用程序中...高级属性是被精心选择,目的是向程序员提供健壮、干净代码,以便程序员容易理解和高效编程....对于 大多数人来说,语法过于诡异了。 Clojure 修正上面的大多数这些问题. 保留了 lisp 思想和哲学,并同时清除了过去很多限制....) 1957 – FORTRAN (第一个编译型语言) 1957 – COMTRAN (COBOL语言祖先) 1958 – LISP 1958 – ALGOL 58 1959 – FACT (COBOL

    1.4K10

    又要头秃?2020年七大AI编程语言大盘点

    R语言是由Ross Ihaka和Robert Gentleman开发,1995年推出第一个版本。目前由R开发核心团队维护。...Prolog语言最适合创建聊天机器人,ELIZA是用Prolog创建第一个聊天机器人。 ?...第一个成功聊天机器人,图源medium 要理解Prolog,你必须熟悉指导工作一些基本术语: Facts(事实)定义了真实声明。 Rules(规则)定义了有附加条件声明。...——Kent Pitman Lisp作为一种实用面向数学符号处理编程语言,很快成为开发人员的人工智能编程语言选择。...Haskell提供一些功能包括: 强大抽象能力 内置内存管理 代码可重用性 易于理解 SQL、Lisp和Haskell是见过仅有的编程语言,在这些语言中,人们花在思考上时间比写代码时间要多

    1.7K20

    高薪AI工程师都在用什么编程语言?2020 年七大 AI 编程语言大盘点

    R语言 官网 R语言是由Ross Ihaka和Robert Gentleman开发,1995年推出第一个版本。目前由R开发核心团队维护。...第一个成功聊天机器人,图源medium 要理解Prolog,你必须熟悉指导工作一些基本术语: Facts(事实)定义了真实声明。 Rules(规则)定义了有附加条件声明。...——Kent Pitman Lisp作为一种实用面向数学符号处理编程语言,很快成为开发人员的人工智能编程语言选择。...Haskell提供一些功能包括: 强大抽象能力 内置内存管理 代码可重用性 易于理解 SQL、Lisp和Haskell是见过仅有的编程语言,在这些语言中,人们花在思考上时间比写代码时间要多...Julia源代码目录结构 Julia提供下列特性,使其在人工智能编程、机器学习、统计和数据建模中成为一个不可或缺选项: 动态类型系统 内置包管理器 能够进行并行和分布式计算 和元编程能力 支持多个调度

    1.8K20

    写本Racket入门书

    一个朋友曾经开玩笑跟我说过:「学lisp就是没事找事,自己跟自己过不去」这话在理。所以,两三年前与clojure嬉戏时候,在心里,她始终就像朱紫国那个金圣娘娘,身披七彩霞裳,跟刺猬一样,亲近不得。...但Paul Graham在「黑客与画家」中对lisp无比推崇又让一直如鲠在喉,不征服lisp仿佛自己始终没能窥探编程奥义,那种感觉,估计和搞到了法国却搞不定约瑟芬拿破仑一样一样。...不少读者在看了周二文章「走进 racket(lisp) 世界」后自豪地说自己学校就开设了Racket课程,作为编程入门语言,这真是羡煞死。...(转格式估计都要累死),就像我在书中「前言」里写到那样,写这本书是出于私利 —— 以教代学,并不代表对Racket有任何程度深入掌握。...:介绍raco及主要Racket packages 8) 可爱:这是肉戏,也是lisp精髓 9) 用来设计你语言:假象一门语言,用Racket实现 10) 延迟计算:讲讲continuation

    2.4K80

    各种编程语言对尾递归支持

    ,之所以研究,在于函数式编程会用到。...但是似乎也改变了Lisp味道,do显然此处只能在设计编译器、解释器时候就得单独实现,虽然按理Lisp下这些都应该是,但是无论用如何将函数式编程映射为显示迭代,因为尾clisp递归优化不支持,则无法和系统提供...sbcl是Common Lisp另外一个实现,在这个实现中,我们使用第一个add函数版本,没有发生崩栈。...话说,awk没有对尾递归优化也属正常,而且对于内存使用还真不节制,超过了想象。不过这也与语言目的有关,awk本就没打算做这类事情。...看来,至少参考了Scheme尾递归优化。 Ruby   Ruby作者松本行弘也是Lisp粉丝,当然,想大多数编程语言作者都会是Lisp粉丝,因为它会给人很多启发。

    2.7K20

    编程语言出现都这么随意吗?

    但是这种想法遭到了当时 Lisp 程序员反对,最后麦卡锡开了 MIT,从此 Lisp 语法凝固在 S 表达式上。 Lisp 建立在列表和 lambda 演算和基础上,是函数式编程鼻祖。...COBOL 创造了一些新概念:(DEFINE)和数据结构(记录)。 COBOL 在商务领域被广泛使用。 COBOL 对后来语言几乎没有影响,但 PL/I 除外。 A.5....Scheme 第一个引入词法作用域,延续体,闭包等概念。并将数据和函数等同对待。 Scheme 简约优美使博得了计算机语言皇后桂冠,并与另一个以优雅著称 Pascal 一起成为教学语言。...JavaScript 和 Java 没有任何关系,前身是 ScriptEase。...ScriptEase 诞生于 1992 年原名 C-minus-minus,是一个足够强大可以替代操作(macro)脚本语言,同时保持与 C 足够相似性,以便开发人员能很快学会。

    1.6K60

    五大人工智能流行编程语言对比,只要学会一种绝对不亏!

    C ++ 优点 c++是最快计算机语言,如果你的人工智能项目对于时间特别敏感,那么C++是很好选择,提供更快执行时间和更快响应时间(这也是为什么经常应用于搜索引擎和游戏)。...这里要推荐一个C语言c+交流Q群7-4-1-8-1-8-6-5-2,不管你是大牛还是小白,大家都一起成长进步。 ? 五大人工智能流行编程语言对比,只要学会一种绝对不亏!...在人工智能中使用Lisp,因其灵活性可以快速进行原型设计和实验,当然这也反过来促进Lisp在AI开发中发展,例如,Lisp有一个独特系统,有助于开发和实现不同级别的智能。...与大多数人工智能编程语言不同,Lisp在解决特定问题时更加高效,因为适应了开发人员编写解决方案需求,非常适合于归纳逻辑项目和机器学习。 缺点 很少有开发人员熟悉Lisp编程。...作为一种较古老编程语言,Lisp需要配置新软件和硬件来适应使用。 ?

    1.1K00

    操作系统Emacs是如何沦落为一代编辑器

    开始之前,先让我们知道今天Emacs是长怎样? ? 不不,这是新Logo,意思是用途。 什么是Emacs? Emacs是一种功能超强文本处理程序,或者文本编辑器。...基础部分是使用C语言编写,其他部分是用Emacs Lisp编写。深层次的话,C语言构成了emacs底层,包括Emacs Lisp解释器。...而Emacs Lisp则是负责了Emacs Lisp建筑物上层,也就是包括我们平时用扩展、界面等。...原以为他们是混入了微内核与内核争论。 ? 就好比是二十几年前,Linus和Tanenbaum那场著名争论: ? 不要生气! ? 又或者是这样改了二十几需求? ?...GNU一点儿也不敏捷,现代人都知道要先推出MVP,不是这个意思: ? 让我们再回顾一下他们预期Hurd内核发布时间,还不错在2060年——如果还键在,那么应该就有71岁了。 ?

    2K80
    领券