;; start our main loop
(<- (actor-id clerk) 'update-loop))
-(define clerk-help-topics
- '(("changing name" .
- "Changing your name is easy! We have a clipboard here at the desk
+(define changing-name-text "Changing your name is easy!
+We have a clipboard here at the desk
where you can make yourself known to other participants in the hotel
if you sign it. Try 'sign form as <your-name>', replacing
<your-name>, obviously!")
+
+(define phd-text
+ "Ah... when I'm not here, I've got a PHD to finish.")
+
+(define clerk-help-topics
+ `(("changing name" . ,changing-name-text)
+ ("sign-in form" . ,changing-name-text)
+ ("form" . ,changing-name-text)
("common commands" .
"Here are some useful commands you might like to try: chat,
go, take, drop, say...")
The origins of the hotel are... unclear... and it has recently come
under new... 'management'. But at Hotel Bricabrac we believe these
aspects make the hotel into a fun and unique experience! Please,
-feel free to walk around and explore.")))
+feel free to walk around and explore.")
+ ("physics paper" . ,phd-text)
+ ("paper" . ,phd-text)
+ ("proprietor" . "Oh, he's that frumpy looking fellow sitting over there.")))
(define clerk-knows-about
| $ Swamp] |
'-----------'")
+(define 8sync-design-goals
+ '(ul (li (b "Actor based, shared nothing environment: ")
+ "Shared resources are hard to control and result in fighting
+deadlocks, etc. Escape the drudgery: only one actor controls a resource,
+and they only receive one message at a time (though they can \"juggle\"
+messages).")
+ (li (b "Live hackable: ")
+ "It's hard to plan out a concurrent system; the right structure
+is often found by evolving the system while it runs. Make it easy to
+build, shape, and change a running system, as well as observe and correct
+errors.")
+ (li (b "No callback hell: ")
+ "Just because you're calling out to some other asynchronous
+code doesn't mean you should need to chop up your program into a bunch of bits.
+Clever use of delimited continuations makes it easy.")))
+
(define underground-lab
(lol
('underground-lab
<room> #f
#:name "Underground laboratory"
- #:desc '("This appears to be some sort of underground laboratory. "
- )
+ #:desc '((p "This appears to be some sort of underground laboratory."
+ "There is a spiral staircase here leading upwards, where "
+ "it seems much brighter.")
+ (p "There are a number of doors leading in different directions:
+north, south, east, and west, as well as a revolving door to the southwest.
+It looks like it could be easy to get lost, but luckily there
+is a map detailing the layout of the underground structure."))
#:exits
(list (make <exit>
#:name "up"
(lambda (exit room whos-exiting)
(values #t "You climb the spiral staircase.")))))
- ;; Test tubes
;; map
('underground-lab:map
<readable> 'underground-lab
#:desc '("This appears to be a map of the surrounding area. "
"You could read it if you want to.")
#:read-text `(pre ,underground-map-text)
- #:goes-by '("map" "underground map" "lab map"))))
-
-
+ #:goes-by '("map" "underground map" "lab map"))
+ ('underground-lab:8sync-sign
+ <readable> 'underground-lab
+ #:name "a sign labeled \"8sync design goals\""
+ #:goes-by '("sign" "8sync design goals sign" "8sync sign")
+ #:read-text 8sync-design-goals
+ #:desc `((p "The sign says:")
+ ,8sync-design-goals))))
\f