Make playCode dependent on execMode
authorJoachim Breitner <mail@joachim-breitner.de>
Fri, 10 Sep 2010 14:50:44 +0000 (14:50 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Fri, 10 Sep 2010 14:50:44 +0000 (14:50 +0000)
b18n-combined-cgi.hs

index a12a71d..224305d 100644 (file)
@@ -260,13 +260,27 @@ jQueryMain = do
         setHeader "Cache-control" "max-age=36000000" -- 1000 h
         outputFPS $ jQueryCode
     
-defaultPlayCode get = -- Are we only considering [Nat] here?
+defaultPlayCode Normal get =
         Just $ unlines
             [ "get = " ++ get
             , "put = " ++ get ++ "_B" 
             , ""
             , "source = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
             ]
+defaultPlayCode Shapify get =
+        Just $ unlines
+            [ "get = " ++ get
+            , "put = " ++ get ++ "_B" 
+            , ""
+            , "source = [(),(),(),()]"
+            ]
+defaultPlayCode ShapifyPlus get =
+        Just $ unlines
+            [ "get = " ++ get
+            , "put = " ++ get ++ "_B" 
+            , ""
+            , "source = S (S (S (S Z)))"
+            ]
 
 formMain = do
         setHeader "Content-type" "application/xhtml+xml; charset=UTF-8"
@@ -321,7 +335,8 @@ formMain = do
             case (todo,getM,genCodeM,pcM) of
             -- The user successfully generated code to play with, insert default playCode.
             -- Do not use the user input, as he probably switched to a new example.
-            (Just BiDi, Just get, Just _, _) -> return (defaultPlayCode get, Nothing)
+            (Just BiDi, Just get, Just _, _) ->
+                return (defaultPlayCode (execMode conf) get, Nothing)
             -- The user played with the code
             (Just EvalGet, Just get, Just genCode, Just pc) -> do
                 view <- liftIO $ evaluateWith genCode pc ("get source")
@@ -332,7 +347,7 @@ formMain = do
                                         $ delDefinition "result"
                                         $ pc
             (Just EvalGet, Just get, Just genCode, Nothing) -> do
-                return (defaultPlayCode get, Nothing)
+                return (defaultPlayCode (execMode conf) get, Nothing)
             (Just EvalPut, Just get, Just genCode, Just pc) -> do
                 view <- liftIO $ evaluateWith genCode pc ("put source view")
                 case view of 
@@ -341,7 +356,7 @@ formMain = do
                                         $ addDefiniton "result" dat 
                                         $ pc
             (Just EvalPut, Just get, Just _, Nothing) -> do
-                return (defaultPlayCode get, Nothing)
+                return (defaultPlayCode (execMode conf) get, Nothing)
             _ -> return (Nothing, Nothing)
 
         scrollX <- getInput "scrollx"