From: Wade Humeniuk
Subject: Re: "attributes" in S-expressions
Date: 
Message-ID: <DfKKe.174124$9A2.142817@edtnps89>
Stefan Ram wrote:
>   I have seen several ways to annotate S-expressions with
>   "attributes":
> 
> (example (name "value") (name1 "value1"))
> (example (name -> "value") (name1 -> "value1"))
> (example ((name "value") (name1 "value1")))
> (example '((name "value")(name1 "value1")))
> (example '(name "value" name1 "value1"))
> (example name: "value" name1: "value1" )
> (example :name "value" :name1 "value1" )
> (example 'name "value" 'name1 "value1")
> 

You missed at least one,

(example (name . "value") (name1 . "value1"))

In general I think attributes are best represented as
a property or association list (helpful, hum...?).
Here are a couple of real life examples I use.  FWIW I do
not try to worry about whether I am doing the "right" thing.

;; Store volunteer template as an association list.
(define-volunteer
     `((personal-information
        last-name
        first-name
        contact-method
        day-phone
        eve-phone
        cell-phone
        email1
        email2
        special-skills)

       (times-available (daytime morning afternoon evening)
        sunday
        monday
        tuesday
        wednesday
        thursday
        friday
        saturday)

       (interests

        (classroom
	class-rep book-orders field-trip-driver field-trip-chaperone learning-assistant
	library-runner school-helper hot-lunch-distributor)

        (school
	recycling talent/-skills school-library lost-and-found building-projects phys-ed-events
	phys-ed-phoning school-adhoc)

        (committees
	transport parking practicum info-evenings wellness recyling cop-ski-lessons)

        (council
	council-position parent-liaison-assistant hot-lunch-coordinator phone-fan-out
	data-input council-adhoc)

        (fundraising
	qsp-coordinator entertainment-book-coordinator fundraising-class-rep 
phone-book-recycling-coodinator
	phone-book-recycling-helper walkathon-coordinator walkathon-helper
	spring-fling-coordinator spring-fling-setup-takedown spring-fling-monitor
	spring-fling-displays spring-fling-cash spring-fling-helper spring-fling-donation-finder
	casino-2004 fundraising-adhoc)
        (events
	breakfast-coordinator breakfast-helper skating-party-coordinator skating-party-helper
	sports-day-helper teachers-luncheon-coordinator teachers-luncheon-helper
	year-end-assembly-coordinator year-end-assembly-helper westmount-fair-coordinator
	westmount-food-captain westmount-fair-entertainment-captain
	westmount-fair-games-captain westmount-fair-helper whatever-adhoc))

       (questions
        practicum-opportunities)

       (children (last-name first-name home-or-day1/block1-teacher)
        6)))

(defparameter *knowledge-base*
   '((pmbok-guide (concept reference)
                  (title "A Guide to the Project Management Body of Knowledge")
                  (version "1.5")
                  (edition "2000"))

     (process-groups (member initiating planning executing controlling closing))

     (core-process (member initiation project-plan-development project-plan-execution 
integrated-change-control
                           scope-planning scope-definition activity-definition 
activity-sequencing
                           activity-duration-estimating schedule-development resource-planning
                           cost-estimating cost-budgeting risk-management-planning 
performance-reporting
                           administrative-closure contract-closeout))

     (facilitating-process (member scope-verification scope-change-control 
schedule-control cost-control
                                   quality-planning quality-assurance quality-control 
organizational-planning
                                   staff-acquisition team-development communications-planning
                                   information-distribution risk-identification 
qualitative-risk-analysis
                                   quantitative-risk-analysis risk-response-planning
                                   risk-monitoring-and-control procurement-planning 
solicitation-planning
                                   solicitation source-selection contract-administration))

     (project-integration-management
      (concept project-management-knowledge-area)
      (references (pmbok-guide (section "4.")))
      (processes project-plan-development
                 project-plan-execution
                 integrated-change-control))

     (project-scope-management
      (concept project-management-knowledge-area)
      (references (pmbok-guide (section "5.")))
      (pmbok-section "5.")
      (processes initiation scope-planning scope-definition
                 scope-verification scope-change-control))

     (project-time-management
      (concept project-management-knowledge-area)
      (references (pmbok-guide (section "6.")))
      (pmbok-section "6.")
      (processes activity-definition activity-sequencing activity-duration-estimating
                 schedule-development schedule-control))
....