common-lisp

    2热度

    1回答

    我对Common Lisp非常陌生,我正试图学习如何使用网络套接字进行编程。在通用lisp usocket api中,它指定功能socket-send和socket-receive采用simple-array (unsigned-byte 8)缓冲区。 我太新来聆听了解如何在sbcl common lisp中实现这一点。看起来我可以使用功能vector和make-array而不是simple-ar

    2热度

    1回答

    我在helloworld.asd定义的简单系统: (asdf:defsystem #:helloworld :description "helloworld" :author "Duncan Bayne <[email protected]>" :license "WTFNMF" :depends-on (#:hunchentoot) :seria

    1热度

    1回答

    我试图为静态文件与Hunchentoot,从我的项目中的www目录。我接受的定义是: (defvar *acceptor* (make-instance 'easy-acceptor :port 4242 :document-root (truename "./www/"))) 然后,我开始吧: (start *acceptor*) 承兑人的作品,我可以使用defi

    3热度

    1回答

    eval-when的必需用途是为了确保在编译和使用宏时,宏所依赖的函数是可用的。但是,我想不出一个能证明不使用eval-when的后果的例子。 (defpackage :eval-when (:use :cl)) (in-package :eval-when) (defun util-fun (x) (* x x)) (defmacro needs-help (x) `(le

    2热度

    1回答

    长的故事:动机 我有上SORT或MAPCAR打破了一些错误,一些(比如说,25)不是列表的CL码。这告诉我我通过它们的数据结构有问题。所以,我把(BREAK)放在发生错误的地方之前的代码中。它看起来是这样的: (sort (progn (break) (mapcar (lambda (pair) (list (car pair) (cdr pair)))

    4热度

    1回答

    我注意到没有 format指令,将 呼叫force-output/finish-output。 为什么? 它似乎是在用户交互是有用的,比照 Lisp format and force-output。 例如,~=可以翻译成finish-output和~:=到force-output。 我不认为clear-output在这方面很有意义,但我们 可能会映射[email protected]=以完整性。

    1热度

    1回答

    也许我试图在这里过于富有创意。 是否有可能扩展动态结合SETF能够地方动态变量的的概念,所以,我可以LET绑定阴影部分动态变量(如plist中)? 例如,我想可以这样做: (defparameter *foo* '(:one 1)) (let (((getf *foo* :one) 2)) (do-things)) 要隐藏的价值:用2 这个例子之一,因为(getf *foo* :

    1热度

    1回答

    我要打印几个数字为罗马数字,但 (format t "[email protected]~%" 4000) 导致以下错误SBCL 1.3.20和使用CCL一个类似: Number too large to print in Roman numerals: 4,000 [Condition of type SIMPLE-ERROR] Restarts: 0: [RETRY] Re

    0热度

    2回答

    目前与亚历山大的curry咖喱功能必须调用funcall。但是,可以设置新功能的symbol-function,这样我们就可以在没有它的情况下将其视为真正的功能。画报上https://lispcookbook.github.io/cl-cookbook/functions.html#with-the-alexandria-library: (defun adder (foo bar) "

    0热度

    3回答

    我需要编写一个带有符号和列表的Common Lisp宏。该列表由两个元素的列表组成:一个符号和一个字符串,像这样: ((X "foo") (Y "bar") (Z "qwerty")) 宏作品递归,它搜索符号列表,如果发现symbol回报T,否则返回NIL 。我写这个代码: (defmacro already-exist (symbol my-list) (cond ((null (