如何运行LISP程序

问题描述:

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

+1

这很大程度上取决于程序的结构(它是一个ASDF系统?仅仅是一个裸函数?一个.lisp?)以及您正在使用的lisp编译器。 – yan 2011-04-18 19:20:20

+1

我最喜欢的方式 - 认真 - 是在emacs中运行它。 – Cheeso 2011-04-18 19:21:36

+0

这是一个基本的.lisp文件。我不确定哪种编译器最适合使用。我有Windows 7和我发现的大部分LISP编译器都不能在Windows上运行。 – 2011-04-18 19:21:47

基本操作是呼叫load,其中路径名称为

(load #p"/home/user710086/foo.lisp") 

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

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

有几件事情可能包装在基本操作中。通常,代码被组织到ASDF系统中,并且定义了一个或多个。这样,你会在.asd文件添加到asdf:*asdf-registry*,然后用

(asdf:load-sys 'foo) 

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

+0

如果我在程序中有多个函数会怎么样?我首先跑哪一个很重要? – 2011-04-18 19:46:32

+0

首先你编译哪个并不重要(尽管如果遇到未知的函数名,它可能会发出警告)。你运行的只是入口点。 – Svante 2011-04-18 19:59:44