我正在尝试使用emacs和slime连接到swank以使用Overtone实时代码.我整个工作都很有效,但是当我试着跑的时候
(ns foo
(:use [overtone.live]
[overtone.inst.synth]))
(definst bar [] (saw 220))
Run Code Online (Sandbox Code Playgroud)
我收到错误'无法找到泛音/ live__inti.class或泛音/ live.clj在类路径上:'我收集的基本上意味着类文件不在它寻找它们的地方.我不知道该怎么做才能解决这个问题.
我是Emacs和Common Lisp新手.我已经在我的Emacs中成功安装了SLIME,但我无法运行它.Alt+ x slime-connect给出以下选项,接受哪个选项给出了粘贴在选项下面的错误.
Host: 127.0.0.1
Port: 4005
Connecting to Swank on port 4005...
make client process failed: connection refused, :name, SLIME Lisp, :buffer, nil,
:host, 127.0.0.1, :service 4005,
:nowait, nil
Run Code Online (Sandbox Code Playgroud)
我如何让它工作?
如何在Win7下将粘液安装到emacs中?
我下载了一个带有'.tgz'的紧凑包.但它似乎对于Linux.但是对于Windows来说真的没有一件事(赢得32 OS).
我展开了这个包,我发现有很多文件.
当我们启动 slime 时,它默认在 CL-USER 中启动。由于我经常使用特定的包,我想在 Slime 启动时自动打包到该包中。即我想省去执行以下操作的麻烦:
CL-USER> (ql:quickload :my-package)
CL-USER> (in-package my-package)
MY-PACKAGE>
Run Code Online (Sandbox Code Playgroud)
我尝试将以下代码放入我的 ccl-init.lisp 文件中,但包内代码不起作用:
(ql:quickload :my-package)
(in-package my-package)
Run Code Online (Sandbox Code Playgroud) 我正在使用Emacs作为我的Lisp环境,并希望能够离线访问Common Lisp HyperSpec.我下载了它,并将文件夹放入我的emacs.d目录.然后我将以下代码放入我的.emacs:
(global-set-key [(f2)] 'slime-hyperspec-lookup)
(setq common-lisp-hyperspec-root "/.emacs.d/HyperSpec/")
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试在其中搜索某些内容时,我的查询最终都会出现格式错误.具体来说,假设我搜索dotimes; 被转储到我的浏览器的是file:///.emacs.d/HyperSpec/Body/m_dolist.htm,它与HyperSpec文件夹中的目录结构不匹配,导致查询失败.相反,HyperSpec查找格式适合Web版本(在这种情况下,它可以正常工作).
我有什么方法可以解决这个问题,如果是这样,怎么办?我基本上只是希望能够在我不在线时查找HyperSpec.
I would like to know, what is the common approach to common-lisp interactive development in emacs (i use sly, but i think the slime instructions should be the same)
say i have this file:
(eval-when (:compile-toplevel :load-toplevel :execute)
(ql:quickload :closer-mop))
(in-package :cl-user)
(defpackage :shapes
(:use :closer-common-lisp-user)
(:export #:rectangle))
(in-package :shapes)
(defclass rectangle ()
((height :initform 0.0 :initarg :height)
(width :initform 0.0 :initarg :width)))
Run Code Online (Sandbox Code Playgroud)
which is quite simple. Evaluating it experssion by expression seems to be ok, while loading the whole …
我正在尝试通过《Common Lisp:符号计算的温和介绍》一书来学习 Common Lisp 。此外,我正在使用 SBCL、Emacs 和 Slime。
在第 8 章的结尾,作者将调试器介绍为 lisp 编程的重要工具之一。然后,为了展示它,他break在类似阶乘的函数定义中使用了命令:
(defun fact-debugging (n)
(cond ((zerop n) (break "N is zero."))
(t (* n (fact-debugging (- n 1))))))
Run Code Online (Sandbox Code Playgroud)
在 REPL 中调用函数后:
CL-USER> (fact-debugging 4)
Run Code Online (Sandbox Code Playgroud)
我得到了控制堆栈。. 我特别好奇回溯部分:
N is zero.
[Condition of type SIMPLE-CONDITION]
Restarts:
0: [CONTINUE] Return from BREAK.
1: [RETRY] Retry SLIME REPL evaluation request.
2: [*ABORT] Return to SLIME's top level.
3: [ABORT] abort thread (#<THREAD "repl-thread" RUNNING …Run Code Online (Sandbox Code Playgroud) 您可以假设我使用粘液模式进行repl.
如何创建一个功能键(例如f4)来执行此操作:
C-up或者C-down;请将它作为一步一步的指南,因为我是Emacs和Lisp的完全初学者.
我正在使用SLIME学习Common Lisp.有没有办法自动完成括号,这样当我键入一个打开的paren时,会自动添加一个关闭的?我更像是一个vim家伙,所以在mv~/.vimrc我有:
inoremap(()<Left>
因此,当我键入一个打开的paren时,vim会自动添加封闭的paren并将光标放在parens之间.有没有办法用SLIME做到这一点?
我正在尝试使用已经在package.lisp中定义的asdf创建一个名为“ a”(要学习)的基本软件包,而我的主文件a.lisp的开头是:
(in-package :a)
...
Run Code Online (Sandbox Code Playgroud)
如果我正在开发模块,我只是想通过执行Mx slime-eval-buffer之类的方法将整个缓冲区评估到SLIME REPL中,但这不会发生,在运行该命令后,我仍然处于cl -用户包:
;;; from a.lisp
A> (in-package :a)
#<PACKAGE "A">
CL-USER> <--- should have stayed in A>
Run Code Online (Sandbox Code Playgroud)
但是,如果我自己将整个代码粘贴到SLIME REPL中,则它已经可以工作了。一遍又一遍地粘贴很多代码对于交互式开发来说根本不是一件好事。
你能帮我吗?您是否对我的问题有任何建议,或者您通常如何应对?
谢谢。