<&书信电报;打印对象时出错>&燃气轮机;lisp-matlisp

<&书信电报;打印对象时出错>&燃气轮机;lisp-matlisp,lisp,common-lisp,slime,quicklisp,Lisp,Common Lisp,Slime,Quicklisp,我对CommonLisp很陌生,在尝试使用Matlisp包时遇到了一个问题,我用它加载(ql:quickload:Matlisp) 例如,当我尝试使用包时,只需执行: (randn '(2 2)) 我总是会听到这样一个错误: " 不会(是的,你读对了,buster!)为抽象张量类“tensor DOUBLE-FLOAT STRIDE-ACCESSOR SIMPLE-ARRAY”生成方法 在回溯中,我看到许多“打印对象时出错”消息(如所附图像所示)。 我尝试过的所有matlisp函数都会出现这

我对CommonLisp很陌生,在尝试使用Matlisp包时遇到了一个问题,我用它加载(ql:quickload:Matlisp)

例如,当我尝试使用包时,只需执行:

(randn '(2 2))
我总是会听到这样一个错误:

" 不会(是的,你读对了,buster!)为抽象张量类“tensor DOUBLE-FLOAT STRIDE-ACCESSOR SIMPLE-ARRAY”生成方法

在回溯中,我看到许多“打印对象时出错”消息(如所附图像所示)。

我尝试过的所有matlisp函数都会出现这个问题。我可能缺少一些非常基本的东西,或者这会是包装的问题吗

我在Emacs 25.0.50上运行slime,如果这些信息相关,我的Lisp实现是SBCL 1.2.11

非常感谢您的帮助

这里是回溯:

Will not (yes you read that right, buster!) generate method for abstract tensor class "TENSOR DOUBLE-FLOAT STRIDE-ACCESSOR SIMPLE-ARRAY".
   [Condition of type TENSOR-ABSTRACT-CLASS]

Restarts:
 0: [CONTINUE] Retry assertion.
 1: [RETRY] Retry SLIME REPL evaluation request.
 2: [*ABORT] Return to SLIME's top level.
 3: [REMOVE-FD-HANDLER] Remove #<SB-IMPL::HANDLER INPUT on descriptor 8: #<CLOSURE (LABELS SWANK/SBCL::RUN :IN SWANK/BACKEND:ADD-FD-HANDLER) {10031CEE8B}>>
 4: [ABORT] Exit debugger, returning to top level.

Backtrace:
  0: (SB-KERNEL:ASSERT-ERROR (TENSOR-LEAFP #:XX348) ((#:XX348 |TENSOR DOUBLE-FLOAT STRIDE-ACCESSOR SIMPLE-ARRAY|)) NIL TENSOR-ABSTRACT-CLASS :TENSOR-CLASS |TENSOR DOUBLE-FLOAT STRIDE-ACCESSOR SIMPLE-ARRAY|..
  1: ((:METHOD REF (STRIDE-ACCESSOR)) #<error printing object>) [fast-method]
      Locals:
        SUBSCRIPTS = (0 0)
        X = #<|TENSOR DOUBLE-FLOAT STRIDE-ACCESSOR SIMPLE-ARRAY| <<error printing object>> {1005CE9F93}>
  2: ((LABELS TWO-PRINT :IN PRINT-TENSOR) #<error printing object>)
      Locals:
        SB-DEBUG::ARG-0 = #<|TENSOR DOUBLE-FLOAT STRIDE-ACCESSOR SIMPLE-ARRAY| <<error printing object>> {1005CE9F93}>
        SB-DEBUG::ARG-1 = NIL
  3: ((FLET SB-IMPL::PRINT-DESCRIPTION :IN SB-IMPL::%PRINT-UNREADABLE-OBJECT))
  4: (SB-IMPL::%PRINT-UNREADABLE-OBJECT #<error printing object>)
  5: ((:METHOD PRINT-OBJECT (TENSOR T)) #<error printing object>) [fast-method]
      Locals:
        SB-DEBUG::ARG-2 = #<|TENSOR DOUBLE-FLOAT STRIDE-ACCESSOR SIMPLE-ARRAY| <<error printing object>> {1005CE9F93}>
        SB-DEBUG::ARG-3 = #<SB-IMPL::STRING-OUTPUT-STREAM {1005CEB763}>
  6: ((LABELS SB-IMPL::HANDLE-IT :IN SB-KERNEL:OUTPUT-OBJECT) #<SB-IMPL::STRING-OUTPUT-STREAM {1005CEB763}>)
  7: (SB-IMPL::STRINGIFY-OBJECT #<error printing object>)
  8: (PRIN1-TO-STRING #<error printing object>)
  9: (SWANK::PRESENT-REPL-RESULTS #<error printing object>)
 10: (SWANK-REPL::TRACK-PACKAGE #<CLOSURE (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {1005CE9DAB}>)
 11: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<CLOSURE (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {1005CE9D0B}>)
 12: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {1005CE9CEB}>)
 13: (SWANK-REPL::REPL-EVAL "(randn '(2 2)) ..)
 14: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK-REPL:LISTENER-EVAL "(randn '(2 2)) ..)
 15: (EVAL (SWANK-REPL:LISTENER-EVAL "(randn '(2 2)) ..)
 16: (SWANK:EVAL-FOR-EMACS (SWANK-REPL:LISTENER-EVAL "(randn '(2 2)) ..)
 17: (SWANK::PROCESS-REQUESTS T)
 18: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS))
 19: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS))
 20: (SWANK/SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SWANK::HANDLE-REQUESTS) {1005CE6B7B}>)
 21: ((FLET SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/Users/danielpgomez/.emacs.d/elpa/slime-20151110.1649/swank/sbcl.lisp") #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SWANK::HANDLE-..
 22: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-OUTPUT* . #1=#<SWANK/GRAY::SLIME-OUTPUT-STREAM {1003FA0833}>) (*STANDARD-INPUT* . #2=#<SWANK/GRAY::SLIME-INPUT-STREAM {1002E15833}>) (*TRACE-OUTPUT* . #1#) (*ERR..
 23: (SWANK::HANDLE-REQUESTS #<SWANK::SINGLETHREADED-CONNECTION {10031CED73}> T)
 24: ((LABELS SWANK/SBCL::RUN :IN SWANK/BACKEND:ADD-FD-HANDLER) 8)
 25: (SB-IMPL::SUB-SUB-SERVE-EVENT NIL NIL)
 26: (SB-IMPL::SUB-SERVE-EVENT NIL NIL NIL)
 27: (SB-SYS:WAIT-UNTIL-FD-USABLE 0 :INPUT NIL T)
 28: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "standard input" {10064BC373}>)
 29: (SB-IMPL::INPUT-CHAR/ASCII #<SB-SYS:FD-STREAM for "standard input" {10064BC373}> NIL 0)
 30: ((LAMBDA (&REST REST) :IN SB-IMPL::GET-EXTERNAL-FORMAT) #<SB-SYS:FD-STREAM for "standard input" {10064BC373}> NIL 0)
 31: (READ-CHAR #<SB-SYS:FD-STREAM for "standard input" {10064BC373}> NIL 0 #<unused argument>)
 32: (READ-CHAR #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A25A3}> NIL 0 #<unused argument>)
 33: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A25A3}> NIL (NIL) T)
 34: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A25A3}> NIL (NIL) NIL)
 35: (READ #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A25A3}> NIL (NIL) NIL)
 36: (SB-IMPL::REPL-READ-FORM-FUN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A25A3}> #<unavailable argument>)
 37: (SB-IMPL::REPL-FUN NIL)
 38: ((LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL))
 39: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL) {1004A6241B}>)
 40: (SB-IMPL::TOPLEVEL-REPL NIL)
 41: (SB-IMPL::TOPLEVEL-INIT)
 42: ((FLET #:WITHOUT-INTERRUPTS-BODY-85 :IN SB-EXT:SAVE-LISP-AND-DIE))
 43: ((LABELS SB-IMPL::RESTART-LISP :IN SB-EXT:SAVE-LISP-AND-DIE))
不会(是的,你读对了,buster!)为抽象张量类“tensor双浮点STRIDE-ACCESSOR SIMPLE-ARRAY”生成方法。
[类型张量抽象类的条件]
重新启动:
0:[继续]重试断言。
1:[重试]重试SLIME REPL评估请求。
2:[*中止]返回SLIME的顶层。
3:[移除-FD-HANDLER]移除#
4:[中止]退出调试器,返回顶层。
回溯:
0:(SB-KERNEL:ASSERT-ERROR(TENSOR-LEAFP#:XX348)(#:XX348 | TENSOR双浮点跨步存取器简单数组|)NIL TENSOR-ABSTRACT-CLASS:TENSOR-CLASS | TENSOR双浮点跨步存取器简单数组|。。
1:((:方法参考(步幅存取器))#)[快速方法]
当地人:
下标=(0)
X=#
2:((标签双打印:在打印张量中)#)
当地人:
SB-DEBUG::ARG-0=#
SB-DEBUG::ARG-1=NIL
3:((FLET SB-IMPL::PRINT-DESCRIPTION:在SB-IMPL::%PRINT-UNREADABLE-OBJECT中))
4:(SB-IMPL::%PRINT-UNREADABLE-OBJECT#)
5:(:方法打印对象(张量T))#[快速方法]
当地人:
SB-DEBUG::ARG-2=#
SB-DEBUG::ARG-3=#
6:((标签SB-IMPL::HANDLE-IT:IN-SB-KERNEL:OUTPUT-OBJECT)#
7:(SB-IMPL::STRINGIFY-OBJECT#)
8:(PRIN1-TO-STRING#)
9:(SWANK::PRESENT-REPL-RESULTS#)
10:(SWANK-REPL::TRACK-PACKAGE#)
11:(SWANK::CALL-WITH-RETRY-RESTART“重试SLIME REPL求值请求。”#)
12:(SWANK::CALL-WITH-BUFFER-SYNTAX NIL#)
13:(SWANK-REPL::REPL-EVAL“(randn’(2))…)
14:(SB-INT:SIMPLE-EVAL-IN-lexev(SWANK-REPL:LISTENER-EVAL)(randn'(2))…)
15:(EVAL(SWANK-REPL:LISTENER-EVAL)(randn’(2))…)
16:(SWANK:EVAL-FOR-EMACS(SWANK-REPL:LISTENER-EVAL)(randn’(2))…)
17:(SWANK::PROCESS-T)
18:((LAMBDA NIL:IN-SWANK::HANDLE-REQUESTS))
19:((LAMBDA NIL:IN-SWANK::HANDLE-REQUESTS))
20:(SWANK/SBCL::用断钩呼叫)

21:((FLET-SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK:IN)/Users/danielpgomez/.emacs.d/elpa/slime-20151110.1649/SWANK/sbcl.lisp)##问题是复杂的。Matlisp在测试过程中出现问题。从我的测试来看,只有最新的提交才会出现这个问题。出于某种原因,这会绊倒slime的SWANK repl::repl eval。它不会在上发生


您应该在matlisp的问题跟踪器上报告打印错误,同时您可以使用以前的提交,例如6f7d1dc,或者使用Sly。

当我尝试使用
(ql:quickload:matlisp)
(ql:quickload“matlisp”)加载matlisp时
,我得到一个错误:
调试器在QUICKLISP-CLIENT上调用:SYSTEM-NOT-FOUND:SYSTEM“matlisp”NOT FOUND
我相信matlisp必须在本地项目文件夹中。它在