import Control.Applicative
import Control.Arrow
filter ((&&) <$> (>2) <*> (<7)) [1..10]
filter ((>2) &&& (<7) >>> uncurry (&&)) [1..10]
Run Code Online (Sandbox Code Playgroud)
两者都得到相同的结果!但是,我很难理解.有人可以在这里详细解释一下吗?
这是很容易改变CLISP的当前工作目录:
>cat ~/.clisprc.lisp
;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
(cd "/media/E/www/qachina/db/doc/money")
(load "money")
Run Code Online (Sandbox Code Playgroud)
但是,似乎cd在SBCL中没有类似的功能.如何用SBCL完成这项工作?
我一直在测试使用Lwt的ocsigen.我猜Lwt的意思是"轻量级线程",对吗?如果是这样,我们怎么称它为"轻量级"?
似乎Lwt使用OS的线程并不轻(与Erlang和Haskell相比).
请点亮我,谢谢!
其实,我不完全理解的使用SETF在defun定义:
(defun cookies-out* (&optional (reply *reply*))
"Returns an alist of the outgoing cookies associated with the REPLY object REPLY."
(cookies-out reply))
(defun (setf cookies-out*) (new-value &optional (reply *reply*))
"Sets the alist of the outgoing cookies associated with the REPLY object REPLY."
(setf (cookies-out reply) new-value))
Run Code Online (Sandbox Code Playgroud)
我想它重新定义了''cookies-out*函数,不是吗?如果是这样,那么#'cookies-out*将是一个多态函数.
祝商祺!
我怎样才能优雅地将字符串"1 2 3 4 5 6 7"转换为列表(1 2 3 4 5 6 7)?我正在使用CLISP.
在过去,我使用以下脚本启动SBCL:
breakchars="(){}[],^%$#@\"\";:''|\\"
cd /media/E/work
exec rlwrap --remember -c -b "$breakchars" -f "$HOME"/.sbcl_completions sbcl --noinform --userinit "$HOME"/.sbclrc "$@"
Run Code Online (Sandbox Code Playgroud)
现在在emacs中使用slime时,我知道如何设置SBCL的当前目录?
任何建议表示赞赏!
我在一个带有512M RAM的旧freebsd盒子上安装了GHC-7.4.一切都很棒!但GHCI一旦启动就占用了太多内存.
任何建议表示赞赏!
假设我们使用SBCL的#save-lisp-and-die来创建服务器应用程序App1,它运行良好.现在我们想要在不停止App1的情况下用新版本替换函数#'func1.我们怎么能在Common Lisp中做到这一点?
任何建议表示赞赏!