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

Common lisp -为什么这个符号不是外部的?

Common Lisp 是一种通用的编程语言,具有动态类型、自动内存管理、宏系统、面向对象编程和函数式编程等特性。它是Lisp语言家族中最具影响力的方言之一,被广泛应用于人工智能、科学计算、系统编程等领域。

关于你提到的“为什么 Common Lisp 这个符号不是外部的?”这个问题,需要更多的背景信息才能理解你的意思。但是一般情况下,Common Lisp 中的符号是指用于标识变量、函数、类等的标识符。在 Common Lisp 中,符号属于内部对象,与其他数据类型(如数字、字符串)不同。

Common Lisp 的符号具有一些特点:

  1. 符号是唯一的:每个符号都有一个全局唯一的标识,通过 eq 操作符可以判断两个符号是否相等。
  2. 符号具有属性:符号可以携带一些属性信息,如它们的值、函数定义、文档字符串等。这些属性可以通过符号的相关函数进行操作和访问。
  3. 符号的命名:符号的命名规则与其他编程语言类似,可以包含字母、数字、特殊字符,但是通常不以数字开头。

需要注意的是,你提到的“不是外部的”可能与 Common Lisp 中的命名空间有关。在 Common Lisp 中,符号的可见性和作用域是通过包(package)来管理的。包是一种将符号组织起来的方式,可以限定符号的可见范围。默认情况下,Common Lisp 使用的是当前包的符号,如果你想使用其他包的符号,需要显式地引用或者使用特定的关键字。

总结起来,Common Lisp 中的符号是一种内部对象,用于标识变量、函数、类等。它具有唯一性和属性,并通过包来管理符号的可见性和作用域。

如果你对 Common Lisp 或者其他相关主题有更具体的问题,欢迎提问!

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

相关·内容

为什么说机器学习工程师不是这个时代的明星?

大数据文摘出品 来源:medium 编译:Fisher 这篇文章并不是要攻击所有的机器学习工程师或者数据科学家。 我自己是一名机器学习/计算机视觉工程师,这篇文章是基于我在AI行业的观察和体验。...本文的陈述均带有个人观点。申明了这一点,我们可以开始了。 宣扬不虚 数据科学家这个岗位被称作21世纪最性感的工作。与此同时,对机器学习工程师的需求量在这几年呈指数级增长。...AI产品,以及产品背后的团队。 为了说明我的观点,我会拿一个以AI为核心业务的公司来做例子,但是请记得,这个逻辑对大多数基于AI的公司或者初创企业都适用。...这个实体就是人工智能,就是AI自身。 人工智能是这场时代秀的明星,一直以来都是。 有时候,人工智能背后的团队也会受到瞩目。 结束语 写这篇文章不是要贬低AI业界任何人的工作。...我们不是这场时代之秀的明星,但我们是“明星们”中的一员。 不管这场时代之秀如何演下去。

36510

Clojure与LispClojure与Lisp

Clojure与Lisp "Lisp 不是一门语言,它是一种构建素材。"...(艾伦·凯) "任何C或Fortran程序复杂到一定程度之后,都会包含一个临时开发的、只有一半功能的、不完全符合规格的、到处都是bug的、运行速度很慢的Common Lisp实现。"...1984年,改良自MacLisp、集各版本大成、跨平台、且被目为事实标准的Common Lisp诞生。至1994年,美国国家标准学会(ANSI)对Common Lisp语言进行了标准化。...他的原意只是想做一种理论演算,用更简洁的方式定义图灵机。 所以,为什么上个世纪50年代的编程语言,到现在还没有过时?简单说,因为这种语言本质上不是一种技术,而是数学。数学是不会过时的。...7 符号(symbol)类型 符号实际上是一种指针,指向储存在哈希表中的字符串。

1.9K30
  • Emacs Lisp

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

    62140

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

    在和别人争论了数个小时之后, 我最终还是放弃了学Lisp的念头。为什么要花费几个月的时间学习语法这么难看的语言呢? 这种语言的概念这么晦涩, 又没什么好懂的例子。也许这语言不是该我这样的人学的。...使用XML而不是Java代码, 到底有什么好处? 为什么不写一组Java类, 提供api来满足基本任务(拷贝目录, 编译等等), 然后在Java里直接调用这些代码?...为什么不用Ant自己来扩展Ant呢? 毕竟核心任务要包含很多传统语言的结构(例如"if"), 如果Ant自身就能提供构造任务的能力(而不是依赖java类), 我们就可以得到更高的移植性。..., 意思是对表不求值, 但可以对表中某元素求值, 记号~表示对元素x求值, 这个求值记号在Common Lisp中应当是逗号。...这里作者所用的记号是自己发明的一种Lisp方言Blaise, 和common lisp略有不同, 事实上, 发明方言是lisp高手独有的乐趣, 很多狂热分子都热衷这样做。

    1.8K60

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

    ============================ 为什么Lisp语言如此先进?...他的原意只是想做一种理论演算,用更简洁的方式定义图灵机。 所以,为什么上个世纪50年代的编程语言,到现在还没有过时?简单说,因为这种语言本质上不是一种技术,而是数学。数学是不会过时的。...符号实际上是一种指针,指向储存在哈希表中的字符串。所以,比较两个符号是否相等,只要看它们的指针是否一样就行了,不用逐个字符地比较。   8....、到处都是bug的、运行速度很慢的Common Lisp实现。"...如果你想解决一个困难的问题,关键不是你使用的语言是否强大,而是好几个因素同时发挥作用(a)使用一种强大的语言,(b)为这个难题写一个事实上的解释器,或者(c)你自己变成这个难题的人肉编译器。

    1.2K60

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

    在和别人争论了数个小时之后, 我最终还是放弃了学Lisp的念头。为什么要花费几个月的时间学习语法这么难看的语言呢? 这种语言的概念这么晦涩, 又没什么好懂的例子。也许这语言不是该我这样的人学的。...使用XML而不是Java代码, 到底有什么好处? 为什么不写一组Java类, 提供api来满 足基本任务(拷贝目录, 编译等等), 然后在Java里直接调用这些代码?...为什么不用Ant自己来扩展Ant呢? 毕竟核心任务要包含很多传统语言的结构 (例如"if"), 如果Ant自身就能提供构造任务的能力(而不是依赖java类), 我们就可以得 到更高的移植性。...真正有意思的三种类型是 符号(symbol), 表和函数。这一章的剩余部分, 我都会用来介绍这几种类型, 还要介绍 Lisp环境是怎样编译和运行源码的。这个过程用Lisp的术语来说通常叫做求值。..., 意思是对表不求值, 但可以对 表中某元素求值, 记号~表示对元素x求值, 这个求值记号在Common Lisp中应当是逗号。

    1.4K20

    Paul Graham:梦寐以求的编程语言

    发展最早的20个用户的最好方法可能就是使用特洛伊木马:你让人们使用一种他们需要的应用程序,这个程序碰巧就是用某种新语言开发的。 外部因素 我们得先承认,确实有一个外部因素会影响到语言的流行。...这是不正确的做法,Cobol就是因为这个毛病而声名狼藉。 如果你让黑客像下面这样求和: add x to y giving z 而不是写成: z=x+y 那么你就是在侮辱黑客的智商,或者自己作孽了。...Perl和Common Lisp在这方面是两个不同的极端。Perl的语法单位很短,导致它的代码可以拥挤得让人无法理解,而Common Lisp内置运算符的名称则长得可笑。...令人吃惊的是,一次性程序往往不是真的只用一次,就像二战期间很多美国大学造的一大批临时建筑后来都成了永久建筑。许多一次性程序后来也都变成了正式的程序,具备了正式的功能和外部用户。...Common Lisp is not.The good news is, it's not Lisp that sucks, but Common Lisp.

    93320

    《代码英雄》第三季(7):与机器对话

    接受建议者这个说法由麦卡锡于 1960 年的名为《 具有常识的程序(Programs with Common Sense)》的论文中提出的。...在 80 年代初期,大量的资金涌入该领域。 00:12:29 - Saron Yitbarek: 我们可以讨论一下为什么这个热潮后来干涸了。但是,我现在可以肯定的一点是,事情已经被大肆炒作了。...00:16:56 - Saron Yitbarek: 因此,计算世界的外部现实对这个脆弱的人工智能领域产生了意想不到的抑制作用。...00:19:47 - Chris Nicholson: LISP 是为了操纵符号而设计的。在 LISP 诞生的时代,AI 意味着符号推理。当时,人们认为人类的思维和智力本身就是符号的操作。...这一点,比任何事情都重要,这就是为什么新语言得以继续 LISP 未能完成的征途。我们向 Fast AI 的联合创始人 Rachel Thomas 询问,哪些语言适合下一代 AI。

    27930

    人工智能程序设计语言主要有哪些?

    一般来说,人工智能语言应具备如下特点: ·具有符号处理能力(即非数值处理能力); ·适合于结构化程序设计,编程容易; ·具有递归功能和回溯功能; ·具有人机交互能力; ·适合于推理; ·既有把过程与说明式数据结构混合起来的能力...谈到LISP和PROLOG两种AI语言的重要性,我们可以从美国AI界的权威学者、麻省理工学院教授P.H.Winston(温斯顿)所说的三段话来体会: (1)温斯顿认为,LISP 语言是AI的数学,不仅对...“我一直热衷于Lisp,Lisp是在MIT被制造并且在那儿成长起来的。”...…现代的LISP语言是这些语言的佼佼者,因为采用Common Lisp格式的Lisp具有非凡的表现力,但是如何做某件事情仍然是有待于Lisp程序编制者来表达的东西.相反,Prolog是一种明显地冲破了HOW...型语言陈规的语言, 它鼓励程序编制者去描述情况和问题,而不是那些用来解决问题的详细步骤。”

    2.3K120

    6.计算机语言的发展 编程语言发展 编程语言类型 为什么会有编程语言 编程语言什么作用 机器语言 高级语言分类 编程语言历史 编程语言有哪些 编程语言编年史

    ,完全就等同于乱码 难读、难编、难记和易出错 你根本不会知道到底是什么意思 随后,开始用与代码指令实际含义相近的英文缩写词、字母和数字等符号来替代描述指令代码 出现了汇编语言,汇编语言只是机器语言的助记符语言...为了能够更加通用的解决问题,而不是专注于硬件本身,出现了高级语言 高级语言不用关注机器的指令,使用接近人习惯的自然语言和数学语言符号 能够专注于问题本身的业务逻辑 显然高级语言也是不能直接运行于机器上的...,需要翻译程序转换为机器可以执行的目标代码程序 虽然高级语言不涉及寄存器这些东西,不需要你了解硬件 但是这是高级语言隐藏了她们,而不是说这些东西不存在不重要,所有的语言都逃不过这一关 始终是要编程机器语言的...1951 – Regional Assembly Language 1952 – Autocode 1954 – IPL (LISP语言的祖先) 1955 – FLOW-MATIC (COBOL语言的祖先...年7月) 1983 – Ada 1984 – Common Lisp 1984 – MATLAB 1985 – Eiffel 1986 – Objective-C 1986 – Erlang 1987

    15.4K20

    在Windows下Hunchentoot的启动

    它是一个Common Lisp Web Server。 看完《黑客与画家》后,受它影响就尝试了解一下lisp,因为是在Windows下进行,所以弄个环境并不是很方便。...我先后下载了两个编译器: 1、Allegro Common Lisp 8.2 Free Express Edition,简称Allegro CL 2、lispbox,里面集成了emacs、quicklisp...一开始使用的是Allegro CL,搜索到这篇文章: Enterprise Common Lisp: Setting up HUNCHENTOOT, the common lisp webserver...跟着文章上面的方法折腾好久,没成功,后来放弃了,中间还下了很多东东,比如这个:starter-pack 最后改为了lispbox,解压后双击lispbox.bat然后启动 ?...更多关于hunchentoot的信息,可以点击这里>> 通过前几天对lisp零乱的学习和了解,准备整理一些学习笔记出来

    1.2K20

    一文读懂基于 Yaegi 解释器开发可热插拔的 Traefik 插件

    具体工作流程,可参考如下示意图所示: 需要注意的是,机器代码/可执行文件形式的输出不是 100% 通用的,它包括特定于处理器的指令。...下图说明了解释器如何工作的简单流程,具体如下所示: 与编译器一样,解释器也不是通用的,其设计目的是读取特定的输入格式。...与上述相比较,Golo 是一个更加复杂和功能更为丰富的 Lisp 方言,其语法和特性与 Common Lisp 有很多相似之处。...那么为什么不采取最后一个逻辑步骤并最终构建一个完整的 Go 解释器呢? 通常用于高级脚本编写和低级实现的编程语言是不同的,但通过 Go,我们有机会将两者统一起来。...标准库和外部包:为了支持 Go 代码的执行,Yaegi 还提供了内置的标准库和支持调用外部 Go 包的功能。标准库包括各种常用的函数和数据类型,例如 fmt、strings 和 time 等。

    1.9K51

    如何用Python编写一个Lisp解释器

    ,二是演示如何使用 Python 3 构造 Lisp 的一种方言 Schema,作者把自己的这个语言解释器称作 Lispy。...几年前,作者曾展示过如何用 Java 和 Common Lisp 写 Schema 解释器。而本次的目的很纯粹,作者会尽可能简明扼要为大家进行介绍。 了解这些有多重要呢?...“外部”环境;这样我们就得到了 * 和 pi 的值。...在我看来,它可以达到我的目的,即充当 Lisp 的解释器。 真实的故事 追溯这个想法的来源有助于理解解释器的工作原理,下面给大家分享一个真实的故事。...但作者不知道如何将其连在一起,但作者认为,为这个语言写一个解释器更容易,所以用 C 写了个解释器。有趣的是,Tony 用 C 写了个 Lisp 程序,因为他是个 C 程序员。

    1.4K40

    Clojure 运行原理之编译器剖析

    本文为第一篇,涉及到的主要内容有:编译器工作流程、Lisp 的宏机制。...(目前有数字、字符、Symbol 这三类)与一个称为read table的扩展机制(getMacro)驱动的,read table 里面每项记录提供了由特性符号(称为macro characters)到特定读取行为...与 Common Lisp 不同,普通用户无法扩展 Clojure 里面的read table。...关于扩展read table的好处,可以参考 StackOverflow 上的 What advantage does common lisp reader macros have that Clojure...对应一个类,namespace 里面的每个函数对应类里面的方法,而实际上并不是这样的,根据 Clojure 官方文档,对应关系是这样的: 每个文件、函数、gen-class 都会生成一个.class文件

    1K30

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

    与其他Lisp一样,Clojure认为代码即数据,同时有复杂的宏系统。 Clojure 的理念和特性 Clojure是什么,为什么有人要学这门语言?...它第一个对外的发行版是在2007年秋季的时候发布的,在2009年5月发行了第一个稳定版,到这个时候,它已经培育了一个活跃的、充满热情的社区,一个欣欣向荣的开发工具和类库的生态系统,它们被用在迅速增长的一系列专业的应用程序中...Clojure虽然有很强的学术背景支持,但是绝不是一门只在象牙塔中的语言,每天都有众多开发者在各自的开发领域内使用它。 动态而强有力 (没错,它是lisp!)...年7月) 1983 – Ada 1984 – Common Lisp 1984 – MATLAB 1985 – Eiffel 1986 – Objective-C 1986 – Erlang 1987...编程语言不断的在革新,很快就会有超出这个清单的新编程语言出现。更多参考 程序员必须知道的编程语言编年史

    1.4K10

    《Spring Boot极简教程》附录3 编程简史附录3 编程简史名词纪要参考资料

    LISP,1958 名称取自"LISt Processor"(枚举处理器),约翰·麦卡锡(John McCarthy)在1958年基于λ演算所创造,采用抽象数据列表与递归作符号演算来衍生人工智能。...(2)词汇范围(lexical scoping):区块可以有区块外部无法通过名称访问,属于区块本身的变量、程序以及函数。...这些活动都不是在开发新的范式,而是在将上个世代发明的构想进一步发扬光大。 然而,在语言设计上有个重大的新趋势,就是研究运用模块或大型组织化的程序单元来进行大型系统的开发。...在这段期间被开发出来的重要语言包括有: 1980 - Ada 1983 - C++ (加上类的C) 1984 - Common Lisp 1985 - Eiffel 1986 - Erlang 1987...(part of ANSI Common Lisp) 1995 - Java 1995 - Delphi (Object Pascal) 1995 - JavaScript 1995 - PHP 1997

    50420

    PHP 是最糟糕的编程语言?

    实际上,一旦威胁到实现的简单性,完整性必须要被牺牲。如果为了保持简单,可以牺牲一致性来实现完整性;尤其是接口的一致性。 这场争论的关键是用 LISP 和 C 作为例子来说明为什么“更糟就是更好”。...对于 LISP 程序员 Gabriel 来说,LISP 是一种比 C 更好的语言,速度和 C 一样快,而且 Common LISP 的设计、开发和标准化已经花了很多年。...这种技术上的正确性并没有被实际使用所证实。LISP 的开发商正在衰退。多年来负面新闻和错误定位阻碍了 LISP 的外部声誉。人们不再将其视为向最终用户交付软件的方式。...LISP 本身并非一种单一的语言,而是一个语言家族。尽管 Common LISP 被设计成一种标准,但是 LISP 本身的实现方式是根据需要完成的各种工作而存在的。...为了简单起见, PHP 语言牺牲了一致性,但是即使没有这个规范,它仍然努力在有意义的地方保持一致。 PHP 的完整性符合所需 设计一定要尽可能多地涵盖重要的情况。

    1.8K20
    领券