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))
....