8sync design goals
[mudsync.git] / worlds / bricabrac.scm
index 55e9cc2654f476355f2019e379a4a4b9d73cbd2b..f6494e26a4e3b22159ffe2daa5086976f8f32137 100644 (file)
@@ -774,12 +774,19 @@ It has some bits of bubble gum stuck to it... yuck."
   ;; 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...")
@@ -789,7 +796,10 @@ our hotel emphasizes interesting experiences over rest and lodging.
 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
@@ -1282,13 +1292,34 @@ the paint, but the wires themselves seem to be unusually sturdy."
                           | $  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"
@@ -1297,7 +1328,6 @@ the paint, but the wires themselves seem to be unusually sturdy."
             (lambda (exit room whos-exiting)
               (values #t "You climb the spiral staircase.")))))
 
-   ;; Test tubes
    ;; map
    ('underground-lab:map
     <readable> 'underground-lab
@@ -1305,10 +1335,15 @@ the paint, but the wires themselves seem to be unusually sturdy."
     #: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