X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=utils.lisp;h=d201033e9cd3750f770d6c2ced5e6ace72e7dcc8;hb=5db70caccaeace444f36fae1cbe4ad4b6860df5c;hp=57b64a8e5ff2b72230904a12e7085da7fc549d6e;hpb=b29c5d666cbd1d0c08d4da49b32e4ed41c6dabba;p=reversi.git diff --git a/utils.lisp b/utils.lisp index 57b64a8..d201033 100644 --- a/utils.lisp +++ b/utils.lisp @@ -2,17 +2,25 @@ ;;;; ;;;; FILE IDENTIFICATION ;;;; -;;;; Name: reversi-base.cl +;;;; Name: reversi-base.lisp ;;;; Purpose: Basic functions for reversi -;;;; Programer: Kevin M. Rosenberg, M.D. +;;;; Programer: Kevin M. Rosenberg ;;;; Date Started: 1 Nov 2001 -;;;; CVS Id: $Id: utils.lisp,v 1.1 2002/10/25 08:36:42 kevin Exp $ ;;;; +;;;; $Id: utils.lisp,v 1.3 2002/10/25 12:39:15 kevin Exp $ +;;;; +;;;; This file is Copyright (c) 2001-2002 by Kevin M. Rosenberg +;;;; +;;;; Reversi users are granted the rights to distribute and use this software +;;;; as governed by the terms of the Lisp Lesser GNU Public License +;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;;*************************************************************************** (in-package :reversi) -(declaim (optimize (safety 1) (debug 3) (speed 3))) +(declaim (optimize (safety 1) (debug 3) (speed 3) (compilation-speed 0))) +(defmacro missing-argument () + `(error "Missing an argument to a constructor")) ;; Anaphoric macros @@ -29,26 +37,6 @@ ((not it)) ,@body)) -(defmacro aand (&rest args) - (cond ((null args) t) - ((null (cdr args)) (car args)) - (t `(aif ,(car args) (aand ,@(cdr args)))))) - -(defmacro acond (&rest clauses) - (if (null clauses) - nil - (let ((cl1 (car clauses)) - (sym (gensym))) - `(let ((,sym ,(car cl1))) - (if ,sym - (let ((it ,sym)) ,@(cdr cl1)) - (acond ,@(cdr clauses))))))) - -(defmacro alambda (parms &body body) - `(labels ((self ,parms ,@body)) - #'self)) - - (defun mappend (fn list) "Append the results of calling fn on each element of list. Like mapcon, but uses append instead of nconc." @@ -80,12 +68,6 @@ ((not ,test)) ,@body)) -#+ignore -(defmacro while (test &body body) - `(do () - (not ,test) - ,@body)) - #+excl (defun list-to-delimited-string (list &optional (separator #\space)) (excl:list-to-delimited-string list separator))