小编Ste*_*edl的帖子

如何让defsystem使用"一切"?

我正在研究SBCL中的项目euler问题,并为每个解决方案保留一个简短的文件.每个问题都有一些基于5 am的测试,这些测试是从"主要"测试套件中引用的.运行"tests.lisp"时会运行这些测试.由于我厌倦了手工维护文件列表,我写了一些代码来为我做:

(defpackage #:euler/asdf
  (:use :cl :asdf))
(in-package #:euler/asdf)

;; directory containing the problem files
(defparameter +dir+ "/home/stefan/quicklisp/local-projects/euler")

;; build file list for package components
(defun files-for-problems (dir)
  (mapcar #'(lambda (p) (list :file (pathname-name p) :depends-on '("package")))
      (directory (concatenate 'string dir "/e????.lisp"))))

;; build dependency list for all tests component
(defun depends-on-problems (dir)
  (mapcar #'pathname-name
      (directory (concatenate 'string dir "/e????.lisp"))))

;; define euler system
(defsystem euler
    :name "euler"
    :author "Stefan Schmiedl"
    :description "Solutions to problems at http://projecteuler.net"
    :depends-on ("iterate" "fiveam" …
Run Code Online (Sandbox Code Playgroud)

common-lisp asdf

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

标签 统计

asdf ×1

common-lisp ×1