8sync design goals
authorChristopher Allan Webber <cwebber@dustycloud.org>
Mon, 30 Jan 2017 21:55:28 +0000 (15:55 -0600)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Mon, 30 Jan 2017 21:55:28 +0000 (15:55 -0600)
worlds/bricabrac.scm

index 994e00d0e1234196910c903a3d2c8a2a931b7417..f6494e26a4e3b22159ffe2daa5086976f8f32137 100644 (file)
@@ -1292,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"
@@ -1307,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
@@ -1315,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