;;; -*- Mode:LISP; Base:10 -*-

(defvar *task-list* nil)
(defvar *task-forms* nil)

(defun init-tasks ()
  (setq *task-list* nil)
  (setq *task-forms* nil))

(init-tasks)

(defkind task)

(definstancevars task
  (date (time:print-current-time nil))
  (assigned nil)
  (project nil)
  (text "Update status")
  (completed nil))

(defobfun (exist task) (who proj what &optional when)
  (shadowed-exist)
  (have 'assigned who)
  (have 'project proj)
  (if what (have 'text what))
  (if when (have 'date when)))

(eval-when (eval compile load)
  (defmacro make-task (&rest args)
    `(prog(taskid)
	  (setq taskid (gensym))
	  (set taskid (oneof task ,@args))
	  (push taskid *task-list*)
	  (push (list 'make-task ,@args) *task-forms*))))

;;; a task

;;; keith

(make-task 'keith 'lmi-mail
	   "Develop spec for customer interface")

;(make-task 'keith 'release3
;	   "Go over 3.0 doc problems with Jane" "6//27")

;(make-task 'keith 'release3
;	   "Create file by customer of beta status, configs, bugs" "6//27")
;;;; debra

;(make-task 'debra 'window-maker
;	   "Generate ERs on docs and limitation of generated code" "6//27")

;;;; steve

;(make-task 'steve 'system5
;	   "Create file by customer of beta status, configs, bugs" "6//27")

;(make-task 'steve 'system5
;	   "Verify Greg Glenn's f77 benchmarks" "6//27")


;(make-task 'steve 'system5
;	   "Take backups and re-install system5 on lurch" "6//27")


;;;; mike

;(make-task 'mike 'laser1+
;	   "Explain problems with install doc to Robert Putnam//Jane Blancett" "6//27")

;(make-task 'mike 'release3
;	   "Re-verify reported alpha bugs, e.g. with tape s/w" "6//27")

;;;; paul

;(make-task 'paul 'tcp-ip
;	   "Send fax to Hakuto with action items" "6//27")

;(make-task 'paul 'tcp-ip
;	   "ER Hakuto's problems" "6//27")

;(make-task 'paul 'tcp-ip
;	   "Meeting and memo on TCP 1.5 patch update" "6//27")

