<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -3,7 +3,7 @@
 ;;; See COPYRIGHT file for any additional restrictions (BSD license).
 ;;; Since 1991, ANSI was finally finished.  Edited for ANSI Common Lisp. 
 
-;;; Time-stamp: &lt;2009-07-14 19:02:34 tony&gt;
+;;; Time-stamp: &lt;2009-08-18 08:07:35 tony&gt;
 ;;; Creation:   sometime in 2006...
 ;;; File:       ls-demo.lisp
 ;;; Author:     AJ Rossini &lt;blindglobe@gmail.com&gt;
@@ -771,7 +771,7 @@ my.lib
 		       :case-labels (list &quot;x&quot; &quot;y&quot;)
 		       :var-labels (list &quot;a&quot; &quot;b&quot; &quot;c&quot; &quot;d&quot; &quot;e&quot;)))
 
-  (setf (dfref *my-df-1* 0 0) -1d0)
+  (setf (xref *my-df-1* 0 0) -1d0)
 
   
 </diff>
      <filename>ls-demo-ls1.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 ;;; See COPYRIGHT file for any additional restrictions (BSD license).
 ;;; Since 1991, ANSI was finally finished.  Edited for ANSI Common Lisp. 
 
-;;; Time-stamp: &lt;2009-07-14 19:01:59 tony&gt;
+;;; Time-stamp: &lt;2009-08-18 08:07:56 tony&gt;
 ;;; Creation:   sometime in 2006...
 ;;; File:       ls-demo.lisp
 ;;; Author:     AJ Rossini &lt;blindglobe@gmail.com&gt;
@@ -41,7 +41,7 @@
 		 :case-labels (list &quot;x&quot; &quot;y&quot;)
 		 :var-labels (list &quot;a&quot; &quot;b&quot; &quot;c&quot; &quot;d&quot; &quot;e&quot;)))
 
-(setf (dfref *my-df-1* 0 0) -1d0)
+(setf (xref *my-df-1* 0 0) -1d0)
 ;; *my-df-1*
 
 </diff>
      <filename>ls-demo.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 ;;; -*- mode: lisp -*-
 
-;;; Time-stamp: &lt;2009-07-14 14:21:00 tony&gt;
+;;; Time-stamp: &lt;2009-08-18 08:07:01 tony&gt;
 ;;; Creation:   &lt;2008-03-12 17:18:42 blindglobe@gmail.com&gt;
 ;;; File:       dataframe.lisp
 ;;; Author:     AJ Rossini &lt;blindglobe@gmail.com&gt;
@@ -169,18 +169,6 @@ Examples:
   (:method ((df dataframe-like) index)
     (elt (dataframe-dimensions df) index)))
 
-(defgeneric dfref (df index1 index2)
-  (:documentation &quot;Scalar access to entries in dataframe.&quot;)
-  (:method ((df dataframe-like) index1 index2)
-    (error &quot;Dispatch on virtual class, Method needed for DFREF with
-  class ~A.&quot; (find-class df))))
-
-(defgeneric (setf dfref) (df index1 index2 val)
-  (:documentation &quot;setter for dfref&quot;)
-  (:method ((df dataframe-like) index1 index2 val)
-    (error &quot;Dispatch on virtual class, Method needed for SET-DFREF
-  with class ~A.&quot; (find-class df))))
-
 (defgeneric dfselect (df &amp;optional cases vars indices)
   (:documentation &quot;access to sub-dataframes. Always returns a dataframe.&quot;)
   (:method ((df dataframe-like) &amp;optional cases vars indices)
@@ -216,10 +204,10 @@ Examples:
      (progn
        (dotimes (i (nrows df))
 	 (dotimes (j (ncols df))
-	   ;; dfref bombs if not a df-like subclass so we don't worry
+	   ;; xref bombs if not a df-like subclass so we don't worry
 	   ;; about specialization.
 	   ;; (check-type  (aref dt i j) (elt lot j)))))) ???
-	   (typep (dfref df i j) (nth j (var-types df))))) 
+	   (typep (xref df i j) (nth j (var-types df))))) 
        t))))
 
 
@@ -303,8 +291,8 @@ construction of proper DF-array.&quot;
 #| 
  (make-dataframe #2A((1.2d0 1.3d0) (2.0d0 4.0d0)))
  (make-dataframe #2A(('a 1) ('b 2)))
- (dfref (make-dataframe #2A(('a 1) ('b 2))) 0 1)
- (dfref (make-dataframe #2A(('a 1) ('b 2))) 1 0)
+ (xref (make-dataframe #2A(('a 1) ('b 2))) 0 1)
+ (xref (make-dataframe #2A(('a 1) ('b 2))) 1 0)
  (make-dataframe 4) ; ERROR, should we allow?
  (make-dataframe #2A((4)))
  (make-dataframe (rand 10 5)) ;; ERROR, but should work!
@@ -389,13 +377,13 @@ construction of proper DF-array.&quot;
   &quot;specializes on inheritance from matrix-like in lisp-matrix.&quot;
   (array-dimension (dataset df) 1))
 
-(defmethod dfref ((df dataframe-array)
+(defmethod xref ((df dataframe-array)
 		  (index1 number) (index2 number))
   &quot;Returns a scalar in array, in the same vein as aref, mref, vref, etc.
 idx1/2 is row/col or case/var.&quot;
   (aref (dataset df) index1 index2))
 
-(defmethod set-dfref ((df dataframe-array) (index1 number) (index2 number) val)
+(defmethod (setf xref) ((df dataframe-array) (index1 number) (index2 number) val)
   &quot;set value for df-ar.&quot;
   ;; (check-type val (elt (var-type df) index2))
   (setf (aref (dataset df) index1 index2) val))
@@ -418,9 +406,10 @@ idx1/2 is row/col or case/var.&quot;
 		)))
     (dotimes (i (length cases))
       (dotimes (j (length vars))
-	(setf (dfref newdf i j)
-	      (dfref df
-		     (position (elt cases i) (case-labels df))
+	(setf (xref newdf i j)
+	      (xref df
+	
+	     (position (elt cases i) (case-labels df))
 		     (position (elt vars j) (var-labels df))))))))
 
 ;;; DATAFRAME-MATRIXLIKE
@@ -446,14 +435,14 @@ idx1/2 is row/col or case/var.&quot;
   &quot;specializes on inheritance from matrix-like in lisp-matrix.&quot;
   (matrix-dimension (dataset df) 1))
 
-(defmethod dfref ((df dataframe-matrixlike)
-		  (index1 number) (index2 number))
+(defmethod xref ((df dataframe-matrixlike)
+		 (index1 number) (index2 number))
   &quot;Returns a scalar in array, in the same vein as aref, mref, vref, etc.
 idx1/2 is row/col or case/var.&quot;
   (mref (dataset df) index1 index2))
 
-(defmethod set-dfref ((df dataframe-matrixlike)
-		      (index1 number) (index2 number) val)
+(defmethod (setf xref) ((df dataframe-matrixlike)
+			(index1 number) (index2 number) val)
   &quot;Sets a value for df-ml.&quot;
   ;; NEED TO CHECK TYPE!
   ;; (check-type val (elt (vartype df) index2))
@@ -485,13 +474,13 @@ idx1/2 is row/col or case/var.&quot;
   &quot;specializes on inheritance from matrix-like in lisp-matrix.&quot;
   (length (elt (dataset df) 0)))
 
-(defmethod dfref ((df dataframe-listoflist)
+(defmethod xref ((df dataframe-listoflist)
 		  (index1 number) (index2 number))
   &quot;Returns a scalar in array, in the same vein as aref, mref, vref, etc.
 idx1/2 is row/col or case/var.&quot;
   (elt (elt (dataset df) index1) index2)) ;; ??
 
-(defmethod set-dfref ((df dataframe-listoflist)
+(defmethod (setf xref) ((df dataframe-listoflist)
 		      (index1 number) (index2 number) val)
   &quot;Sets a value for df-ml.&quot;
   ;; NEED TO CHECK TYPE!
@@ -501,28 +490,28 @@ idx1/2 is row/col or case/var.&quot;
 
 
 ;;;;;; IMPLEMENTATION INDEPENDENT FUNCTIONS AND METHODS
-;;;;;; (use only dfref, nrows, ncols and similar dataframe-like
+;;;;;; (use only xref, nrows, ncols and similar dataframe-like
 ;;;;;; components as core).
 
-(defun dfref-var (df index return-type)
+(defun xref-var (df index return-type)
   &quot;Returns the data in a single variable as type.
 type = sequence, vector, vector-like (if valid numeric type) or dataframe.&quot;
   (ecase return-type
     (('list)
      (map 'list
-	  #'(lambda (x) (dfref df index x))
+	  #'(lambda (x) (xref df index x))
 	  (gen-seq (nth 2 (array-dimensions (dataset df))))))
     (('vector) t)
     (:vector-like t)
     (:matrix-like t)
     (:dataframe t)))
 
-(defun dfref-case (df index return-type)
+(defun xref-case (df index return-type)
   &quot;Returns row as sequence.&quot;
   (ecase return-type
     (:list 
      (map 'list
-	  #'(lambda (x) (dfref df x index))
+	  #'(lambda (x) (xref df x index))
 	  (gen-seq (nth 1 (array-dimensions (dataset df))))))
     (:vector t)
     (:vector-like t)
@@ -530,14 +519,14 @@ type = sequence, vector, vector-like (if valid numeric type) or dataframe.&quot;
     (:dataframe t)))
 
 ;; FIXME
-(defun dfref-2indexlist (df indexlist1 indexlist2 &amp;key (return-type :array))
+(defun xref-2indexlist (df indexlist1 indexlist2 &amp;key (return-type :array))
   &quot;return an array, row X col dims.  FIXME TESTME&quot;
   (case return-type
     (:array 
      (let ((my-pre-array (list)))
        (dolist (x indexlist1)
 	 (dolist (y indexlist2)
-	   (append my-pre-array (dfref df x y))))
+	   (append my-pre-array (xref df x y))))
        (make-array (list (length indexlist1)
 			 (length indexlist2))
 		   :initial-contents my-pre-array)))
@@ -571,8 +560,8 @@ type = sequence, vector, vector-like (if valid numeric type) or dataframe.&quot;
       (format stream &quot;~A:~T&quot; (nth i (case-labels object)))
       (dotimes (j (ncols object))
         (write-char #\tab stream) ; (write-char #\space stream)
-        ;; (write (dfref object i j) :stream stream)
-        (format stream &quot;~7,3E&quot; (dfref object i j)) ; if works, need to include a general output mechanism control
+        ;; (write (xref object i j) :stream stream)
+        (format stream &quot;~7,3E&quot; (xref object i j)) ; if works, need to include a general output mechanism control
 	))))
 
 #|
@@ -587,7 +576,7 @@ structure.&quot;
 	(dolist (i (case-labels currentRelationSet))
 	  (print-as-row
 	   (append (list i)
-		   (dfref-obsn (dataset currentRelationSet)
+		   (xref-obsn (dataset currentRelationSet)
                                (incf j)))))))))
 
  (defun testecase (s)</diff>
      <filename>src/data/dataframe.lisp</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c37264081cc7498b5e439c45f045a21d7d7d77f2</id>
    </parent>
  </parents>
  <author>
    <name>AJ Rossini</name>
    <email>blindglobe@gmail.com</email>
  </author>
  <url>http://github.com/blindglobe/common-lisp-stat/commit/f6c7b7f77fb5b4ec6a9eed3d23899d07561b7cb5</url>
  <id>f6c7b7f77fb5b4ec6a9eed3d23899d07561b7cb5</id>
  <committed-date>2009-08-17T23:10:18-07:00</committed-date>
  <authored-date>2009-08-17T23:10:18-07:00</authored-date>
  <message>moving from older dfref to the generic xref approach.  One less key stroke to use .
Need to add test cases.

Signed-off-by: AJ Rossini &lt;blindglobe@gmail.com&gt;</message>
  <tree>1f413a6108e2195abbfb6b478d2773567cb386d3</tree>
  <committer>
    <name>AJ Rossini</name>
    <email>blindglobe@gmail.com</email>
  </committer>
</commit>
