小编ll *_*l l的帖子

如何在常见的lisp中定义函数之前定义它?

我将在SBCL中使用以下代码示例获得有关f2的未定义函数警告.我是否有可能首先声明f2,就像在C中一样,以避免警告.我用Google搜索,没有任何线索.

(defun f ()
  (print (f2)))

(defun f2 ()
  (print "f2"))
Run Code Online (Sandbox Code Playgroud)

lisp common-lisp

4
推荐指数
1
解决办法
644
查看次数

如何在常见的lisp中进行动态加载(Load)

我的以下代码片段将给出SB-INT:SIMPLE-READER-PACKAGE-ERROR; 我知道这是因为当REPL读取代码时,尚未定义包"quicklisp-quickstart"; 但是软件包IS在"quicklisp.lisp"中定义.

如何使以下代码有效?或者我如何告诉常见的lisp阅读器这个包将在动态加载的文件中定义?

* (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (if (probe-file quicklisp-init)
    (load quicklisp-init)
    (progn
      (load "quicklisp.lisp")
      (quicklisp-quickstart:install))))

debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {100299C6A3}>:
  Package QUICKLISP-QUICKSTART does not exist.

    Stream: #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100017F893}>

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.
Run Code Online (Sandbox Code Playgroud)

lisp sbcl common-lisp quicklisp

2
推荐指数
1
解决办法
213
查看次数

标签 统计

common-lisp ×2

lisp ×2

quicklisp ×1

sbcl ×1