Fix types/initforms
[reversi.git] / utils.lisp
index 8a3ac40577d047ad9180359642a13ebdab05ab51..92f9f994598d591b5b886fcdc28bbba4fb87735c 100644 (file)
@@ -1,15 +1,15 @@
 ;;;;***************************************************************************
 ;;;;
 ;;;; 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.5 2003/06/12 12:42:13 kevin Exp $
+;;;; $Id$
 ;;;;
-;;;; This file is Copyright (c) 2001-2003 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
   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"
@@ -77,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))
 
 
-                                               
+