From 7bbc3f161375a9f294f9f7918a0fa532fd5ba65c Mon Sep 17 00:00:00 2001 From: AJ Rossini Date: Wed, 11 Mar 2009 09:30:51 +0100 Subject: [PATCH] migration of code into storage. Will be deleted soon? Signed-off-by: AJ Rossini --- TODO.lisp | 73 ++++++++++++++++++++++++--------------------- src/data/data-clos-old.lisp | 29 +++++++++++++++++- 2 files changed, 67 insertions(+), 35 deletions(-) diff --git a/TODO.lisp b/TODO.lisp index 6ca43e7..6ad425f 100644 --- a/TODO.lisp +++ b/TODO.lisp @@ -1,6 +1,6 @@ ;;; -*- mode: lisp -*- -;;; Time-stamp: <2009-03-11 06:12:57 tony> +;;; Time-stamp: <2009-03-11 09:27:31 tony> ;;; Creation: <2008-09-08 08:06:30 tony> ;;; File: TODO.lisp ;;; Author: AJ Rossini @@ -174,32 +174,6 @@ (variables) diabetes ) -#+nil -(progn - - ;; FIXME: Barf'd version of Data.Frames. See data/data-clos.lisp - ;; for better philosophy. For example, we could say that they - ;; probably deserve to be related to lists -- either lists of cases, - ;; or lists of variables. We probably do not want to mix them, but - ;; want to be able to convert between such structures. - - (defparameter *my-case-data* - '((:cases - (:case1 Y Med 3.4 5) - (:case2 N Low 3.2 3) - (:case3 Y High 3.1 4)) - (:var-names (list "Response" "Level" "Pressure" "Size")))) - - *my-case-data* - - (elt *my-case-data* 1) - (elt *my-case-data* 0) - ;;(elt *my-case-data* 2) ;; error - (elt (elt *my-case-data* 0) 1) - (elt (elt *my-case-data* 0) 0) - (elt (elt (elt *my-case-data* 0) 1) 0) - (elt (elt (elt *my-case-data* 0) 1) 1) - (elt (elt *my-case-data* 0) 2)) @@ -237,15 +211,46 @@ ;; coding, and such. So the structures should probably consider ;; Using the CSV file: - - (asdf:oos 'asdf:compile-op 'csv :force t) - (asdf:oos 'asdf:load-op 'parse-number) - (asdf:oos 'asdf:load-op 'csv) - (fare-csv:read-csv-file "Data/example-numeric.csv") - ;; but I think the cl-csv package is broken, need to use the dsv-style - ;; package. + (defun parse-number (s) + (let* ((*read-eval* nil) + (n (read-from-string s))) + (if (numberp n) n))) + (parse-number "34") + (parse-number "34 ") + (parse-number " 34") + (parse-number " 34 ") + + (+ (parse-number "3.4") 3) + (parse-number "3.4 ") + (parse-number " 3.4") + (+ (parse-number " 3.4 ") 3) + + (parse-number "a") + + ;; (coerce "2.3" 'number) => ERROR + ;; (coerce "2" 'float) => ERROR + + + + (defparameter *csv-num* + (cybertiggyr-dsv::load-escaped + #p"/media/disk/Desktop/sandbox/CLS.git/Data/example-numeric.csv" + :field-separator #\, + :filter #'parse-number + :trace T)) + + (nth 0 (nth 0 *csv-num*)) + + (defparameter *csv-num* + (cybertiggyr-dsv::load-escaped + #p"/media/disk/Desktop/sandbox/CLS.git/Data/example-numeric2.dsv" + :field-separator #\: + :filter #'parse-number)) + + (nth 0 (nth 0 *csv-num*)) + ;; now we've got the DSV code in the codebase, auto-loaded I hope: cybertiggyr-dsv:*field-separator* (defparameter *example-numeric.csv* diff --git a/src/data/data-clos-old.lisp b/src/data/data-clos-old.lisp index 14d813c..d7b74c7 100644 --- a/src/data/data-clos-old.lisp +++ b/src/data/data-clos-old.lisp @@ -5,7 +5,7 @@ ;;; Copyright: (c)2008, AJ Rossini. BSD, LLGPL, or GPLv2, depending ;;; on how it arrives. ;;; Purpose: data package for lispstat -;;; Time-stamp: <2008-09-02 18:40:53 tony> +;;; Time-stamp: <2009-03-11 07:34:37 tony> ;;; Creation: <2008-03-12 17:18:42 user> ;;; What is this talk of 'release'? Klingons do not make software @@ -388,3 +388,30 @@ Usually used by: ;;;; REAL STUFF + +#+nil +(progn + + ;; FIXME: Barf'd version of Data.Frames. See data/data-clos.lisp + ;; for better philosophy. For example, we could say that they + ;; probably deserve to be related to lists -- either lists of cases, + ;; or lists of variables. We probably do not want to mix them, but + ;; want to be able to convert between such structures. + + (defparameter *my-case-data* + '((:cases + (:case1 Y Med 3.4 5) + (:case2 N Low 3.2 3) + (:case3 Y High 3.1 4)) + (:var-names (list "Response" "Level" "Pressure" "Size")))) + + *my-case-data* + + (elt *my-case-data* 1) + (elt *my-case-data* 0) + ;;(elt *my-case-data* 2) ;; error + (elt (elt *my-case-data* 0) 1) + (elt (elt *my-case-data* 0) 0) + (elt (elt (elt *my-case-data* 0) 1) 0) + (elt (elt (elt *my-case-data* 0) 1) 1) + (elt (elt *my-case-data* 0) 2)) -- 2.11.4.GIT