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

我可以用c ++扩展lisp吗?

当然可以!C++ 和 Lisp 是两种不同的编程语言,但它们可以一起使用。Lisp 是一种通用的、动态类型的、基于表达式的语言,而 C++ 是一种静态类型的、基于过程的语言。

要在 C++ 中扩展 Lisp,您可以使用以下方法之一:

  1. 使用 C++ 实现 Lisp 解释器:您可以在 C++ 中编写一个 Lisp 解释器,然后在 C++ 代码中调用它。这样,您可以在 C++ 中使用 Lisp 语法编写代码,并在 C++ 中处理 Lisp 数据结构。
  2. 使用 C++ 实现 Lisp 编译器:您可以在 C++ 中编写一个 Lisp 编译器,将 Lisp 代码编译为 C++ 代码,然后使用 C++ 编译器编译生成的代码。这样,您可以在 C++ 中使用 Lisp 语法编写代码,并在 C++ 中处理 Lisp 数据结构。
  3. 使用 C++ 实现 Lisp 库:您可以在 C++ 中编写一个 Lisp 库,然后在 C++ 代码中调用它。这样,您可以在 C++ 中使用 Lisp 数据结构和函数,并在 C++ 中处理 Lisp 代码。

无论您选择哪种方法,都可以在 C++ 中扩展 Lisp,并在 C++ 中使用 Lisp 语法和数据结构。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

这样做仍然可以保证移植性, 扩展性也是毫无疑问的。而且语法也更为熟悉, 看着顺眼。那为什么要用 XML呢? 有什么更好的理由? 有的。虽然不确定James是否确实意识到了。...离Lisp越来越近 我们先把算符的事情放一放, 考虑一下Ant设计局限之外的东西。早先说过, Ant可以通过写Java类来扩展。...这组核心任务可以用任何方式来实现, 而其他任务建筑在这组核心任务之上, 那样的话, Ant就会成为通用的, 可扩展的, 基于XML的编程语言。...这样做用处不大(你知道为甚么?), 但是真的很酷。 再看一回我们刚才说的Task任务。祝贺你呀, 你在看Lisp代码!!! 说什么? 一点都不像Lisp? 没关系, 我们再给它收拾一下。...差别在于, 我们不用在另外的语言中扩展Lisp(虽然完全可以做得到), 我们可以用Lisp自己来扩展自己, 就像上面举的times-two函数的例子。

1.7K60

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

这样做仍然可以保 证移植性, 扩展性也是毫无疑问的。而且语法也更为熟悉, 看着顺眼。那为什么要用 XML 呢? 有什么更好的理由? 有的。虽然不确定James是否确实意识到了。...离Lisp越来越近 我们先把算符的事情放一放, 考虑一下Ant设计局限之外的东西。早先说过, Ant可以通 过写Java类来扩展。...这组核心任务可以用任何方式来实现, 而其他任务建筑在这 组核心任务之上, 那样的话, Ant就会成为通用的, 可扩展的, 基于XML的编程语言。...这样做用处不大(你知道为甚么?), 但是真的很酷。 再看一回我们刚才说的Task任务。祝贺你呀, 你在看Lisp代码!!! 说什么? 一点都不像 Lisp? 没关系, 我们再给它收拾一下。...差别在于, 我们不用在另外的语言中扩展 Lisp(虽然完全可以做得到), 我们可以用Lisp自己来扩展自己, 就像上面举的times-two 函数的例子。

1.4K20

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

二、 1958年,John McCarthy设计了Lisp语言。认为,当前最新潮的编程语言,只是实现了他在1958年的设想而已。 这怎么可能呢?计算机技术的发展,不是日新月异?...在读取期运行代码,使得用户可以重新调整(reprogram)Lisp的语法;在编译期运行代码,则是Lisp宏的工作基础;在运行期编译代码,使得Lisp可以在Emacs这样的程序中,充当扩展语言(extension...以LispC的比较为例,听到的大多数说法是C代码的长度是Lisp的7倍到10倍。...举例来说,在面向对象编程的世界中,我们大量听到"模式"(pattern)这个词,觉得那些"模式"就是现实中的因素(c),也就是人肉编译器。...代码中其他任何外加的形式,都是一个信号,(至少对来说)表明对问题的抽象还不够深,也经常提醒,自己正在手工完成的事情,本应该写代码,通过宏的扩展自动实现。 (完)

1.2K60

C++ 篇」答应,别再ifelse走天下了可以

前言 羊哥之前写一篇有趣的文章《答应,别再if/else走天下了可以 | CodeSheep 》,在文中使用 Java 语言实现了枚举类、工厂模式和策略模式的三种方式,来消除连环的if/else。...内容层层递进,由浅入深的方式非常喜欢。 看到有留言中有小伙伴想看 C++ 版本的,特此写下了此文(已经过羊哥的同意)。...因为switch/case和if/else毛区别都没,都是写费劲、难阅读、不易扩展的代码。 接下来简单讲几种改进方式,别再 if / else 走天下了。 ---- 工厂模式 —— 它不香?...来,我们接着来,除了工厂模式,策略模式也不妨试一试 ---- 策略模式 —— 它不香? 策略模式和工厂模式写起来其实区别也不大!策略模式也采用了面向对象的继承和多态机制。 ?...+ 和 Java 语言都是面向对象编程的方式,所以都是可以通过面向对象和多态特性降低代码的耦合性,同时也可使得代码易扩展

1.1K10

C++ 篇」答应,别再ifelse走天下了可以

---- 前言 羊哥之前写一篇有趣的文章《答应,别再if/else走天下了可以 | CodeSheep 》,在文中使用 Java 语言实现了枚举类、工厂模式和策略模式的三种方式,来消除连环的if/...内容层层递进,由浅入深的方式非常喜欢。 看到有留言中有小伙伴想看 C++ 版本的,特此写下了此文(已经过羊哥的同意)。...别人看了这种代码肯定大声喊:“X,哪个水货写的!” 这时你听到,千万不要说:“那我改成switch/case”。...千万别说,千万别说哦,否则可能拎包回家了…… 因为switch/case和if/else毛区别都没,都是写费劲、难阅读、不易扩展的代码。...+ 和 Java 语言都是面向对象编程的方式,所以都是可以通过面向对象和多态特性降低代码的耦合性,同时也可使得代码易扩展

62120

PHP 是最糟糕的编程语言?

已有将近二十年的编程经验,并使用过各种编程语言进行开发。在以前做过的很多工作和现在正在做的这份工作中,非常高兴能够将 PHP 作为核心编程语言。...PHP 底层使用了 C 语言,我们之前已经说过,这部分是“最糟糕的”。然而,这也带来了一些优势,最重要的是,更简单的底层语言可以让它更容易扩展。...Elizabeth Smith 发表过一篇关于 PHP 扩展的精彩演讲,其中介绍了大量关于 PHP 的内部工作原理。...希望了解一个请求的头信息?get_headers() 就能满足你。获取请求信息就像读取 _GET 和 _POST 全局变量一样简单。...今天,你可以用 PHP 开发 Web 应用程序。五年后,你仍然可以用 PHP 开发 Web 应用程序,只不过会增加一些新特性。但是,语言本身的完整性已经符合今天所需。

1.7K20

用于AI开发的5种最佳编程语言

你是一个对你下一个项目选择编程语言困惑的AI(人工智能)追求者?如果是这样,那么你来对地方了,因为在这里我们将看到AI开发最好的5种编程语言。 人工智能是一个巨大的领域。...更不用说Java也允许可扩展性,这是AI项目的必备功能。 Lisp Lisp在AI领域表现出色,因为它具有出色的原型功能和对符号表达的支持。...C ++ C ++是世界上最快的编程语言。它能够在硬件层面进行通信,使开发人员能够提高程序执行时间。C ++对于时间敏感的AI项目非常有用。例如,搜索引擎可以广泛地利用C ++。...在AI中,C ++可以用于像神经网络中那样的统计AI技术。算法也可以在C ++中被广泛地编写,以便执行速度,游戏中的AI大部分都是用C ++编写的,以便更快的执行和响应时间。...在所有这些编程语言之上,Python正在慢慢迈向顶峰,因为它可以用于大多数AI子领域。Lisp和Prolog一直在那里,并且仍然被某些团体广泛使用,因为他们更有效率。

3.4K90

Emacs Lisp

前言Lisp 是一门很古老的语言LISP 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKIEmacs LispLisp 的一个分支Emacs Lisp...,一种直译式的脚本语言,为LISP的方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言来扩展它们的功能,它的直译器是以C语言来实作的,它受到Maclisp的影响很大,但是跟Common...Lisp与Scheme有所不同最近迷上了 Emacs所以顺藤摸瓜,竟然搭进去了一门语言万万没想到,为了了解一个编辑器,竟然搭进去了一门语言好在这门语言结构比较简单清晰以致于可以用 15 分钟入个门Tip...: 这一篇纯属于摘抄,不是原创,只是好东西忍不住拿出来分享,如果原作者有意见,可以随时联系,下线此文章,完全尊重原作者的意见原文,请参考 Emacs Lisp 15 分钟入门

60040

编程语言50年来的变化,用50种编程语言告诉你“Hello world”怎么写!

然而,如果今天问你,你可以写多少种不同的编程语言,你写一个"Hello word” 为了帮助你,刷新你的记忆力,建议在计算机编程世界中走一段短暂的穿越时间的旅程。为此,将向您展示"你好,世界!...Objective-C - 1986 Objective-C是一种面向对象编程语言,它像C++一样,是C语言的扩展,而与C++的区别在于它的动态消息分发或动态加载。...它是一种动态类型语言,具有跨平台、可扩展、易学习等特点。并且可以轻松和C语言进行交互。...ActionScript — 1998 ActionScript可以用于开发客户端应用程序,如Adobe Flash和Adobe Flex;也可以用于服务端开发(Flash media server,...C#也可以用来在ASP.NET平台上开发Web应用。C#课程自取。

77210

服了...

但现在,如果问你,你可以用多少种不同的编程语言编写“Hello,World!”,你会给出怎样的回答?为帮你回忆起来,我会向你展示怎样用 50 种不同的编程语言编写“Hello,World!”程序。...它是 C 编程语言的扩展,就像 C++ 一样,但是和 C++ 又不一样,特别是在动态消息分发或者动态加载方面与 C++ 很不一样。...这种动态类型语言是跨平台的、可扩展的、易于学习的,并且基于 12 条语法规则。Tcl 很容易与 C 编程语言交互。...该语言派生自 C++ 和 Java,使用了它们的一些通用语法和其他许多概念。 C# 也可以用于开发 ASP.Net 平台上的 Web 应用程序。...以上编程语言清单只占到人们发明的所有编程语言的一小部分,邀请你在评论区分享你最喜欢的语言所编写的“Hello, World!”程序,但请不要和上面清单上的语言重复哦。

76020

Clojure与LispClojure与Lisp

(艾伦·凯) "任何C或Fortran程序复杂到一定程度之后,都会包含一个临时开发的、只有一半功能的、不完全符合规格的、到处都是bug的、运行速度很慢的Common Lisp实现。"...它的功能和元编程的能力是建立在这样的基础之上的:异常驯服的C语言的"石头" 或 具有 延展性的java语言的"木头" ....自2000年起,LISP共享者合力支援的自由开源社区逐渐形成,致力于LISP后续发展。 当前最新潮的编程语言,只是实现了他在1958年的设想而已。 这怎么可能呢?计算机技术的发展,不是日新月异?...在读取期运行代码,使得用户可以重新调整(reprogram)Lisp的语法; 在编译期运行代码,则是Lisp宏的工作基础; 在运行期编译代码,使得Lisp可以在Emacs这样的程序中,充当扩展语言(extension...language); 在运行期读取代码,使得程序之间可以用S-表达式(S-expression)通信,近来XML格式的出现使得这个概念被重新"发明"出来了。

1.9K30

IT深度趋势:11种编程语言一度辉煌 缘何没落?

虽然现今IT世界大多数的编程语言都是C++、Java和C#等,但是相信我们中的许多人在其他语言中也有经验。为了充分理解今天开发工具的优缺点,回顾一下这些来了又去的语言是很有用的。...好吧,承认,它也是很有趣的。 首先,要说的是这里列出的11种语言是任意选择的。这里面有100多个竞争者,但是寻找的语言至少是有或者曾经有一定的受欢迎程度和广泛使用度的。...然而他没有不断地扩展和改变此语言,而是开发了一套新的语言--Modula 和Modula-2。...IBM开发了一个巨大的结构化语言,可以用于写任何东西,从控制系统、会计到科学分析。其包裹在一个编译器里,也成为代码优化的早期基准。...这就是的语言列表了,至少,这些语言已经不像当初那样辉煌了。你怎么认为?对这几种语言下的结论为之过早?有其他语言更值得一提? 不管怎样,有趣的是看到这么多语言被开发出来尝试着去满足IT界的需求。

1.3K70

亚马逊工程师论各种编程语言的优缺点

这是写的旋风式的编程语言简介 ,我会讲CC++、Lisp、Java、Perl (我们在亚马逊用到的所有语言)、Ruby (就是喜欢) 和 Python,把 Python 加进来是因为 —— 好吧,...因为这些操作系统都是冯·诺曼机的操作系统,你还能用别的?...C++不是这样的,真的,你不会那样用它。   关于C:写一个C的编译器是那么的简单,以至于你可以用C写一个关于C的工具,用起来就像是有内省机制。...Emacs 是那种你可以用 100 年的编辑器。   ...有一段时间,他们甚至找来 Bob Glickstein 当合同工,那个给 O’Reilly 写了那本 Gnu Emacs 扩展的书的家伙,坐在一个小办公室里给 Emacs 写 Mailman 的扩展

2.2K80

excel宏编程 c语言,宏(巨集)

大家好,又见面了,是你们的朋友全栈君。 宏(Macro, 巨集),是一种批处理的称谓。 计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。...计算机语言如C语言或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C语言的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如M4,C 程序员可以获得更精巧的宏。...一个 C 宏可以定义一段语法的替换,然而一个 Lisp 的宏却可以控制一节代码的计算。 获得了控制代码的执行顺序(见惰性计算和非限制函数)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。...例如,一种 Lisp 方言有 cond 而没有 if ,就可以使用宏由前者定义后者。Lisp 语法的去部主要扩展,比如面向对象的 CLOS 系统,可以由宏来定义。...使用它们可以用简短的击键代替冗长的命令序列,并为重复性任务提供了一个简单的自动化形式,但2009年已经有所改变。

1.6K20
领券