小编Spe*_*uex的帖子

从Quicklisp包中的宏调用函数

我把失败.asd

(in-package :asdf-user)                    

(defsystem "failing"                       
  :description "some code destined to fail"
  :version "0.1"                           
  :author "me"                      
  :components ((:file "package")))         
Run Code Online (Sandbox Code Playgroud)

package.lisp

(defpackage :failing  
  (:export :foo :bar))

(in-package :failing) 

(defun foo () 42)     

(defmacro bar ()      
  (let ((x (foo)))    
    `(print ,x)))     

(bar)                 
Run Code Online (Sandbox Code Playgroud)

进入〜/ quicklisp/local-projects /失败.使用安装了Quicklisp的Clozure CL,我运行

(ql:quickload :failing)
Run Code Online (Sandbox Code Playgroud)

这给了我

To load "failing":
  Load 1 ASDF system:
    failing
; Loading "failing"
[package failing]
> Error: Undefined function FOO called with arguments () .
> While executing: BAR, in process listener(1). …
Run Code Online (Sandbox Code Playgroud)

lisp macros common-lisp quicklisp

5
推荐指数
1
解决办法
241
查看次数

在里面显示括号 - Emacs

在 emacs 中有一种模式show-paren-mode,当光标位于另一个时,它会为相反的匹配括号着色。我写了一个例子来解释show-paren-mode

( <-colored  colored-> )| <-cursor 
Run Code Online (Sandbox Code Playgroud)

但是当光标不在括号上时它不起作用:

( <-not colored    cursor inside->|    not colored-> )
Run Code Online (Sandbox Code Playgroud)

我怎样才能启用它?我发现在 paredit 中执行 slurpage 和 barfage 时,我无法很好地跟踪括号,因为除非我在它们上,否则它们不会被着色。

这是最佳的:

( <-colored    cursor inside->|    colored-> )
Run Code Online (Sandbox Code Playgroud)

编辑:感谢@lawlist 的评论,我已经解决了这个问题。

lisp emacs elisp paredit

5
推荐指数
1
解决办法
587
查看次数

常见的lisp:KEY参数使用

:KEY参数包含在Common Lisp附带的一些函数中.我发现它们的所有描述都是无益的,并且:KEY很难在搜索引擎中搜索,因为":"通常被忽略.

例如,如何在member允许两者:TEST:KEY?的功能中使用它?

lisp common-lisp sequence

4
推荐指数
3
解决办法
1518
查看次数

标签 统计

lisp ×3

common-lisp ×2

elisp ×1

emacs ×1

macros ×1

paredit ×1

quicklisp ×1

sequence ×1