@@ -305,10 +305,12 @@ clauseToJS span var (Clause value vars e) = do
305 let vars' = map (\n -> var ++ "._" ++ show n) [0..]
305 let vars' = map (\n -> var ++ "._" ++ show n) [0..]
306 s <- matchToJS span $ matchSubst (zip vars vars') e
306 s <- matchToJS span $ matchSubst (zip vars vars') e
307 return $ concat [ "\ncase ", case value of
307 return $ concat [ "\ncase ", case value of
308− Left name -> quoted name
309 Right (Boolean True) -> "true"
308 Right (Boolean True) -> "true"
310 Right (Boolean False) -> "false"
309 Right (Boolean False) -> "false"
311 Right lit -> show lit
310 Right lit -> show lit
311+ Left name -> quoted $ case List.elemIndices '.' name of
313+ is -> drop (last is + 1) name
312 , ":", indent s ]
314 , ":", indent s ]
314jsNil = "_L.Nil"
316jsNil = "_L.Nil"