Fix types/initforms
[reversi.git] / utils.lisp
index 1a904e54232ca76a991ac61a9dbd71526365e921..92f9f994598d591b5b886fcdc28bbba4fb87735c 100644 (file)
@@ -1,24 +1,26 @@
 ;;;;***************************************************************************
 ;;;;
 ;;;; FILE IDENTIFICATION
-;;;; 
+;;;;
 ;;;;  Name:           reversi-base.lisp
 ;;;;  Purpose:        Basic functions for reversi
 ;;;;  Programer:      Kevin M. Rosenberg
 ;;;;  Date Started:   1 Nov 2001
 ;;;;
-;;;; $Id: utils.lisp,v 1.2 2002/10/25 09:23:39 kevin Exp $
+;;;; $Id$
 ;;;;
-;;;; This file is Copyright (c) 2001-2002 by Kevin M. Rosenberg 
+;;;; This file is Copyright (c) 2001-2003 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) (compilation-speed 0)))
+(in-package #:reversi)
+
 
+(defmacro missing-argument ()
+  `(error "Missing an argument to a constructor"))
 
 ;; Anaphoric macros
 
   Like mapcon, but uses append instead of nconc."
   (apply #'append (mapcar fn list)))
 
-(defun random-elt (seq) 
-  "Pick a random element out of a sequence."
-  (elt seq (random (length seq))))
+(defun random-nth (list)
+  (declare (list list))
+  "Pick a random element out of a list."
+  (nth (random (length list)) list))
 
 (defun concat-symbol (&rest args)
   "Concatenate symbols or strings to form an interned symbol"
@@ -75,9 +78,9 @@
   (let ((output (when list (format nil "~A" (car list)))))
     (dolist (obj (rest list))
       (setq output (concatenate 'string output
-                               (format nil "~A" separator)
-                               (format nil "~A" obj))))
+                                (format nil "~A" separator)
+                                (format nil "~A" obj))))
     output))
 
 
-                                               
+