如何运行LISP程序

如何运行LISP程序,lisp,Lisp,LISP程序是否需要与LISP编译器位于同一文件夹中,或者我可以从任何地方调用它?基本操作是使用路径名调用load 然后,您可能需要运行该文件提供的任何“main”函数 该位置也可以位于当前目录中,当然,这取决于平台。当前目录通常与Lisp可执行文件所在的目录无关,但它是从中调用它的shell的目录。当你点击某个东西时,我不知道Windows中的当前目录是什么,但我猜它是某个主目录代理 有几件事可能会围绕着这个基本操作展开。通常,代码被组织到ASDF系统中,并定义了一个或多个包。然后将.asd文

LISP程序是否需要与LISP编译器位于同一文件夹中,或者我可以从任何地方调用它?

基本操作是使用路径名调用
load

然后,您可能需要运行该文件提供的任何“main”函数

该位置也可以位于当前目录中,当然,这取决于平台。当前目录通常与Lisp可执行文件所在的目录无关,但它是从中调用它的shell的目录。当你点击某个东西时,我不知道Windows中的当前目录是什么,但我猜它是某个主目录代理

有几件事可能会围绕着这个基本操作展开。通常,代码被组织到ASDF系统中,并定义了一个或多个包。然后将
.asd
文件添加到
asdf:*asdf注册表*
中,然后使用

(asdf:load-sys 'foo)

这将以计算顺序加载
.asd
文件中定义的所有文件,从而为您提供系统功能。

这在很大程度上取决于程序的结构(它是ASDF系统吗?只是一个裸函数吗?一个.lisp?)我最喜欢的方法是在emacs中运行它,它是一个基本的.lisp文件。我也不确定哪种编译器最适合使用。我有Windows7,我发现的大多数LISP编译器都不在Windows上运行。什么是emacs?Emacs是一个功能强大的文本编辑器,也是许多Lisp程序员最喜欢的IDE(特别是与SLIME结合使用,SLIME是Emacs的高级Lisp交互模式)。Emacs使用自己的Lisp方言(Emacs Lisp)作为扩展语言,而Emacs本身的大部分实际上都是用Lisp编写的(只有一个小的C内核提供Lisp解释器和一些基本功能)。你可以直接在Emacs中运行一个Lisp文件,而不必担心它在磁盘上的位置?我先运行哪一个重要吗?先编译哪一个不重要(尽管遇到未知函数名时可能会发出警告)。您只运行入口点。
(asdf:load-sys 'foo)