小编Rog*_*llo的帖子

Common Lisp:函数A将函数传递给B,将函数传递给调用函数的C

以下helloworld函数只输出Hello,world

(defun helloworld ()
    (format t "Hello, world"))
Run Code Online (Sandbox Code Playgroud)

我创建了一个A传递helloworld给函数的函数B:

(defun A ()
    (B #'helloworld))
Run Code Online (Sandbox Code Playgroud)

功能B随后将函数函数C:

(defun B (fn)
    (C #'fn))
Run Code Online (Sandbox Code Playgroud)

函数C然后调用函数(即,它调用helloworld):

(defun C (fn)
    (funcall fn))
Run Code Online (Sandbox Code Playgroud)

当我运行程序时:

(A)
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

Error in FUNCTION [or a callee]: The function FN is undefined.
Run Code Online (Sandbox Code Playgroud)

为什么?

我如何解决它?

lisp common-lisp

0
推荐指数
1
解决办法
55
查看次数

Common Lisp:所有功能都是由核心功能CAR,CDR,CONS等构建的吗?

对或错?

Common Lisp有很多功能.所有这些功能都是使用这一小组核心功能构建的(或可以构建的):CAR,CDR,CONS,ATOM,EQ,QUOTE,COND,LAMBDA,LABEL,NULL.

如果答案是False,您能提供一个使用核心功能无法实现的功能示例吗?核心功能列表可能不完整,还需要另外两个核心功能吗?

lisp common-lisp

0
推荐指数
1
解决办法
406
查看次数

Lisp 宏如何扩展 Lisp 编程语言的语法和语义?

我正在读的一本书[1]是这样说的:

\n
\n

编程语言中最有趣的发展之一是可扩展语言的创建,其语法和语义可以在程序内更改。最早和\n最常提出的语言扩展方案之一是宏定义。

\n
\n

您能否给出一个扩展 Lisp 编程语言的语法和语义的 Lisp 宏示例(并附上解释)?

\n

[1]解析、翻译和编译理论,第 1 卷解析:Aho 和 Ullman,第 58 页。

\n

lisp common-lisp

0
推荐指数
1
解决办法
194
查看次数

Common Lisp:如何将URL包含为列表的元素?

我想创建一个包含URL的列表,如下所示:

(setf assertion '(BookStore targetNamespace http://www.books.org))
Run Code Online (Sandbox Code Playgroud)

但这会导致此错误消息:

Error in READ [or a callee]: There is no package with the name HTTP.
Run Code Online (Sandbox Code Playgroud)

为什么URL会产生错误?

如何将URL作为列表元素包含在内?

lisp common-lisp

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

标签 统计

common-lisp ×4

lisp ×4