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

是否存在在Common Lisp中运行外部程序的标准方法?

是的,在Common Lisp中运行外部程序的标准方法是使用run-program函数。run-program函数是uiop库中的一个函数,它提供了一系列与操作系统交互的实用函数。uiop库是Common Lisp的一个通用实用程序库,用于处理文件系统、外部程序和环境变量等。

要使用run-program函数,首先需要加载uiop库:

代码语言:lisp
复制
(ql:quickload "uiop")

然后,可以使用run-program函数来运行外部程序。例如,要运行ls命令,可以这样做:

代码语言:lisp
复制
(uiop:run-program '("ls" "/path/to/directory"))

run-program函数接受一个参数,即要运行的外部程序及其参数的列表。在上面的例子中,我们运行了ls命令,并传递了一个参数/path/to/directory,这将列出指定目录中的文件。

run-program函数还有许多其他选项,可以用于控制外部程序的运行方式。例如,可以通过设置:input:output:error-output参数来重定向程序的输入、输出和错误输出。此外,还可以使用:wait参数来控制是否等待外部程序完成。

总之,在Common Lisp中运行外部程序的标准方法是使用uiop库中的run-program函数。

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

相关·内容

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

除此之外,GopherLua 还提供了与 Go 语言的无缝集成,可以直接调用 Go 语言的函数和方法,并且可以在 Go 应用程序中嵌入 Lua 脚本。...与上述相比较,Golo 是一个更加复杂和功能更为丰富的 Lisp 方言,其语法和特性与 Common Lisp 有很多相似之处。...标准库和外部包:为了支持 Go 代码的执行,Yaegi 还提供了内置的标准库和支持调用外部 Go 包的功能。标准库包括各种常用的函数和数据类型,例如 fmt、strings 和 time 等。...外部包可以通过 import 语句引入,并可以在 Yaegi 中直接调用其中的函数和方法。...fmt.Println(res) } 在此示例中,我们使用 Yaegi 在运行时使用标准库中的 “plugin” 包加载 Go 插件。

1.9K51

Clojure与LispClojure与Lisp

(艾伦·凯) "任何C或Fortran程序复杂到一定程度之后,都会包含一个临时开发的、只有一半功能的、不完全符合规格的、到处都是bug的、运行速度很慢的Common Lisp实现。"...觉得必须实现共同需要的一个方法,使计算机能够处理链表中的符号数据,允许语言的处理、信息存入和检索、定理证明的过程机器化。IBM是首先对人工智能开发有兴趣的商业机构之一。...1984年,改良自MacLisp、集各版本大成、跨平台、且被目为事实标准的Common Lisp诞生。至1994年,美国国家标准学会(ANSI)对Common Lisp语言进行了标准化。...自稳定运行的Common Lisp出现起,再有各机构按各自所需而开展后续Lisp,包括1990年来自欧洲用户的EuLisp、运行于Java虚拟机的Clojure、受到Maclisp影响而创的Emacs...在读取期运行代码,使得用户可以重新调整(reprogram)Lisp的语法; 在编译期运行代码,则是Lisp宏的工作基础; 在运行期编译代码,使得Lisp可以在Emacs这样的程序中,充当扩展语言(extension

1.9K30
  • .NET DLR 上的IronScheme 语言互操作&&IronScheme控制台输入中文的问题

    Lisp是古老的函数式语言,跟C,C++等命令式语言完全不一样的编程风格,但Lisp的方言很多,最后Lisp标准委员制定了Common Lisp,但内容很长,有1000多页,因此功能比较强大;而Lisp....exe 2.1,执行Scheme程序 找一个合适的控制台运行下,输入几个Lisp表达式看看: ?...Console.OutputEncoding = Encoding.UTF8 注释即可,由于我的电脑是中文环境,这样程序便以GBK的编码运行了,此时即可正常显示Scheme 程序中的 汉字。...3,Scheme 调用 .NET 按照 作者官方的说法,IronScheme是可以签入在.NET应用程序里面的,但是单独执行Scheme程序的时候,是否可以调用 .net已有的程序呢?...(write-ln "1:{0}" "aaa") (write-ln "1:{0} 2:{1}" "张三" "李四") 这个程序是调用 .net的 Console.WriteLine 方法的,运行这个程序试试

    1K60

    Emacs 折腾记

    我工作中倒并没有用得到 Lisp 的地方,但是最近眼前晃过的一些书,比如《计算机程序的构造和解释》、《码农》杂志第 13 期,都对这门古老的语言推崇备至,历数现代 Lisp 方言的先进性,再者我也一直有学习一门函数式编程语言的想法...Common Lisp 开发环境 学习 Common Lisp 是使用 Emacs 最主要的任务,配好了文本编辑,当然得先把 Common Lisp 开发环境配置好了。...本来什么也不用配置的情况下 M-x ielm 就能进入一个 Emacs Lisp 的 REPL,但是它与 Common Lisp 毕竟还是有区别,所以还是另配置一个。...然后在如何运行当前 py 文件这件事上遇到些问题。在 Vim 中我一直是用 :!...start python % 使用 Emacs 的运行外部命令的方法 M-!

    1.3K20

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

    发展最早的20个用户的最好方法可能就是使用特洛伊木马:你让人们使用一种他们需要的应用程序,这个程序碰巧就是用某种新语言开发的。 外部因素 我们得先承认,确实有一个外部因素会影响到语言的流行。...令人吃惊的是,一次性程序往往不是真的只用一次,就像二战期间很多美国大学造的一大批临时建筑后来都成了永久建筑。许多一次性程序后来也都变成了正式的程序,具备了正式的功能和外部用户。...开发大型程序的另一个方法就是从一次性程序开始,然后不断地改进。这种方法比较不会让人望而生畏,程序在不断的开发之中逐渐进步。...一般来说,使用这种方法开发程序,一开始用什么编程语言,就会一直用到最后,因为除非有外部政治因素的干预,程序员很少会中途更换编程语言。...一种有命令行界面、可以实时反馈的语言就具有互动性,那些必须先编译后使用的语言就不具备互动性。受欢迎的编程语言应该是前者,具有良好的互动性,可以快速得到运行结果。 一次性程序的另一个特点就是简洁。

    93420

    PHP 是最糟糕的编程语言?

    对于 LISP 程序员 Gabriel 来说,LISP 是一种比 C 更好的语言,速度和 C 一样快,而且 Common LISP 的设计、开发和标准化已经花了很多年。...LISP 易于交互,你可以通过各种方式与它交互。希望从 Fortran 中调用 LISP?你可以从 Fortran 中调用 LISP 并将数据传入,反之亦然。...这种技术上的正确性并没有被实际使用所证实。LISP 的开发商正在衰退。多年来负面新闻和错误定位阻碍了 LISP 的外部声誉。人们不再将其视为向最终用户交付软件的方式。...LISP 本身并非一种单一的语言,而是一个语言家族。尽管 Common LISP 被设计成一种标准,但是 LISP 本身的实现方式是根据需要完成的各种工作而存在的。...相对于常用于 LISP 软件和环境的硬件,它也可以运行在低功率硬件上。这一因素使得它可以在更广泛的机器上编译和运行软件。

    1.8K20

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

    “程序员在职业生涯中通常使用一种以上的编程语言,他们中的大多数甚至至少已经实现了十几种。 甚至有一个名为TTHW的指标来衡量一个程序员接触一门新的编程语言时,成功写出“Hello, World!...“并运行所需要的时间。 然而,如果今天我问你,你可以写多少种不同的编程语言,你写一个"Hello word” 为了帮助你,刷新你的记忆力,我建议在计算机编程世界中走一段短暂的穿越时间的旅程。...它是Lisp三种重要的变种之一,由Common Lisp和Clojure共同开发。 (display "Hello, World!") (newline) 15....Common Lisp - 1984 Common Lisp,通常缩写为CL,是ANSI标准化的Lisp语言规范。 (princ "Hello, World!") 19....它专注于嵌入其他应用程序以对其进行扩展。 译者注:我们之前介绍过Lua在Redis中的应用,不知道你是否还记得。 print("Hello, World!") 30.

    87310

    Clojure 运行原理之编译器剖析

    为了更加具体描述 Clojure 运行原理,会分两篇文章来介绍。 本文为第一篇,涉及到的主要内容有:编译器工作流程、Lisp 的宏机制。...LispReader.java 一般来说,具有复杂语法的编程语言会把词法分析与语法分析分开实现为 Lexer 与 Parser,但在 Lisp 家族中,源程序的语法就已经是 AST 了,所以会把 Lexer...与 Common Lisp 不同,普通用户无法扩展 Clojure 里面的read table。...是否为一个宏,而这又是通过检查var是否为一个函数,并且元信息中macro是否为true。...,加深了对 eval-apply 循环的理解,还有一点就是揭开了宏的真实面貌,之前一直认为宏是个很神奇的东西,其实它只不过是编译时运行的函数而已,输入与输出的内容既是构成程序的数据结构,同时也是程序内在的

    1K30

    【译】教你用50种语言写Hello, World

    当我们学习一门新的语言时,“Hello, World!“通常是我们所写的第一个程序。相信作为一名程序员的你,职业生涯中至少完成了一个“Hello, World!“程序。...程序员一般也都会使用多门语言,甚至有多数人都会使用十几种语言。 甚至有一个名为TTHW的指标来衡量一个程序员接触一门新的编程语言时,成功写出“Hello, World!“并运行所需要的时间。...它是Lisp三种重要的变种之一,由Common Lisp和Clojure共同开发。 (display "Hello, World!") (newline) 15....Common Lisp - 1984 Common Lisp,通常缩写为CL,是ANSI标准化的Lisp语言规范。 (princ "Hello, World!") 19....它专注于嵌入其他应用程序以对其进行扩展。 译者注:我们之前介绍过Lua在Redis中的应用,不知道你是否还记得。 print("Hello, World!") 30.

    78030

    惊呆了,老外竟然用50中编程语言写“Hello,Word!”,我服了...

    在职业生涯中,所有程序员都至少完成过一段“Hello,World!" 程序。在成长中,程序员通常会使用多种编程语言,大部分程序员甚至实现过十几种”Hello,World!”版本。...甚至还出现了一种衡量标准,叫做 TTHW,用于评估程序员用新的编程语言实现一段“Hello, World!”程序并成功运行所花费的时间 。...它是 Lisp 语言的 3 大变种之一,另外两个变种 Common Lisp 和 Clojure 的诞生要晚得多。 (display "Hello, World!")...Common Lisp - 1984 年 Common Lisp 通常简写为 CL,是由 ANSI 标准化了的 Lisp 语言规范。 (princ "Hello, World!") 19....Clojure - 2007 年 Clojure 是一种可编译的、跨平台的函数式编程语言,用于创建安全的和易分布式运行的程序。Clojure 是 Lisp 语言的 3 大变种之一。

    80520

    编程语言发展70年,用50种不同语言输出「Hello World」

    所有程序员在其职业生涯中,都至少接触过一个经典的“Hello, World!” 程序。...通常程序员会使用多种编程语言,多的甚至实现了十几种 还有一种称为TTHW(Time to “Hello, World!”)的方法,来衡量程序员创建一个新的“Hello, World!”程序的时间。...Cobol是COmmon Business Oriented Language的缩写,它原本是一种用于编写业务应用程序的公共语言。到2019年,Cobol仍然广泛应用于银行和保险领域。...Scheme - 1975 Scheme创建于1975年,是一种支持函数式和命令式编程的多范式编程语言。这是基于Lisp的三大语言之一,另两种是Common Lisp和最近创建的Clojure。...Common Lisp - 1984 Common Lisp,通常缩写为CL,是由ANSI标准化的Lisp语言规范。 (princ "Hello, World!") 19.

    64920

    50种不同编程语言的“Hello, World”,你会写几种?

    所有程序员在其职业生涯中,都至少接触过一个经典的“Hello, World!” 程序。通常程序员会使用多种编程语言,多的甚至实现了十几种。...的方法,来衡量程序员创建一个新的“Hello, World!”程序的时间。 你可以用多少种不同的语言编写一个“Hello, World!”程序,你的答案是什么? 让我们在计算机编程的世界里回顾一翻。...这是基于Lisp的三大语言之一,另两种是Common Lisp和最近创建的Clojure。 (display "Hello, World!")...; end Hello; 18 Common Lisp - 1984 Common Lisp,通常缩写为CL,是由ANSI标准化的Lisp语言规范。 (princ "Hello, World!")...; } } 38 Groovy - 2003 Groovy是一种运行在Java平台上的面向对象编程语言。

    1.4K20

    近 50 种花式 “Hello, World”

    所有程序员在其职业生涯中,都至少接触过一个经典的“Hello, World!” 程序。通常程序员会使用多种编程语言,多的甚至实现了十几种。...的方法,来衡量程序员创建一个新的“Hello, World!”程序的时间。 你可以用多少种不同的语言编写一个“Hello, World!”程序,你的答案是什么? 让我们在计算机编程的世界里回顾一翻。...这是基于Lisp的三大语言之一,另两种是Common Lisp和最近创建的Clojure。 (display "Hello, World!")...; end Hello; 18 Common Lisp - 1984 Common Lisp,通常缩写为CL,是由ANSI标准化的Lisp语言规范。 (princ "Hello, World!")...; } } 38 Groovy - 2003 Groovy是一种运行在Java平台上的面向对象编程语言。

    53220

    50 种不同编程语言的“Hello World”,你知道多少?

    所有程序员在其职业生涯中,都至少接触过一个经典的“Hello, World!” 程序。通常程序员会使用多种编程语言,多的甚至实现了十几种。...的方法,来衡量程序员创建一个新的“Hello, World!”程序的时间。 你可以用多少种不同的语言编写一个“Hello, World!”程序,你的答案是什么? 让我们在计算机编程的世界里回顾一翻。...Cobol是COmmon Business Oriented Language的缩写,它原本是一种用于编写业务应用程序的公共语言。到2019年,Cobol仍然广泛应用于银行和保险领域。...Scheme - 1975 Scheme创建于1975年,是一种支持函数式和命令式编程的多范式编程语言。这是基于Lisp的三大语言之一,另两种是Common Lisp和最近创建的Clojure。...Common Lisp - 1984 Common Lisp,通常缩写为CL,是由ANSI标准化的Lisp语言规范。 (princ "Hello, World!") 19.

    1.4K10

    不同编程语言的“Hello World”

    所有程序员在其职业生涯中,都至少接触过一个经典的“Hello, World!” 程序。通常程序员会使用多种编程语言,多的甚至实现了十几种。...的方法,来衡量程序员创建一个新的“Hello, World!”程序的时间。 你可以用多少种不同的语言编写一个“Hello, World!”程序,你的答案是什么? 让我们在计算机编程的世界里回顾一翻。...Cobol是COmmon Business Oriented Language的缩写,它原本是一种用于编写业务应用程序的公共语言。到2019年,Cobol仍然广泛应用于银行和保险领域。...Scheme - 1975 Scheme创建于1975年,是一种支持函数式和命令式编程的多范式编程语言。这是基于Lisp的三大语言之一,另两种是Common Lisp和最近创建的Clojure。 ...Common Lisp - 1984 Common Lisp,通常缩写为CL,是由ANSI标准化的Lisp语言规范。    (princ "Hello, World!") 19.

    48620

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

    符号实际上是一种指针,指向储存在哈希表中的字符串。所以,比较两个符号是否相等,只要看它们的指针是否一样就行了,不用逐个字符地比较。   8....在读取期运行代码,使得用户可以重新调整(reprogram)Lisp的语法;在编译期运行代码,则是Lisp宏的工作基础;在运行期编译代码,使得Lisp可以在Emacs这样的程序中,充当扩展语言(extension...你定义一个类(class),里面有一个方法和一个属性,用于替换封闭作用域(enclosing scope)中的所有变量。这有点类似于让程序员自己做代码分析,本来这应该是由支持局部作用域的编译器完成的。...如果有多个函数,同时指向相同的变量,那么这种方法就会失效,但是在这个简单的例子中,它已经足够了。...、到处都是bug的、运行速度很慢的Common Lisp实现。"

    1.2K60

    Lisp语言简介_c++是什么语言

    LISP有很多种方言,各个实现中的语言不完全一样。1980年代Guy L. Steele编写了Common Lisp试图进行标准化,这个标准被大多数解释器和编译器所接受。...在Unix/Linux系统中,还有一种和Emacs一起的Emacs Lisp(而Emacs正是用Lisp作为扩展语言进行功能扩展的)非常流行,并建立了自己的标准。...LISP语言的主要现代版本包括Common Lisp和Scheme。 基本介绍 LISP 是第一個函數型程式語言,区别于C/Java等命令型编程语言。...正如算数表达式 1+1 有值 2 一样,Lisp 中的表达式也有值,如果表达式 e 得出值 v,我们说 e 返回 v。...我们称这样的操作符为函数. 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168319.html原文链接:https://javaforall.cn

    2.4K21
    领券