summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2014-10-12 09:03:11 -0400
committerDavid Thompson <dthompson2@worcester.edu>2014-10-12 09:03:11 -0400
commitce93e211c28004963865b8b716c3fa7d1a14e7c2 (patch)
tree842a7e0bcb70ec6a178706fb7b927c917f72eba3
parentef46ae3218923cdc107731cbe2a6e96f20381ccf (diff)
controller: Use match-lambda.
* guix-web/controller.scm (controller): Use 'match-lambda'.
-rw-r--r--guix-web/controller.scm50
1 files changed, 25 insertions, 25 deletions
diff --git a/guix-web/controller.scm b/guix-web/controller.scm
index bfa2f5e..ad91008 100644
--- a/guix-web/controller.scm
+++ b/guix-web/controller.scm
@@ -25,28 +25,28 @@
#:use-module (guix-web package)
#:export (controller))
-(define (controller path)
- (match path
- ((GET)
- (redirect '("packages")))
- ((GET "packages")
- (render-html (all-packages)))
- ((GET "packages.json")
- (render-json (all-packages-json)))
- ((GET "packages" name)
- (match (string-split name #\.)
- ((name ext)
- (render-json
- (if (string=? ext "json")
- (view-package-json name)
- '())))
- ((name)
- (render-html (view-package name)))))
- ((POST "packages" name "install")
- (let ((package (car (find-packages-by-name name))))
- (if (package-install package)
- (created)
- (unprocessable-entity))))
- ((GET "librejs")
- (render-html (librejs)))
- (_ #f)))
+(define controller
+ (match-lambda
+ ((GET)
+ (redirect '("packages")))
+ ((GET "packages")
+ (render-html (all-packages)))
+ ((GET "packages.json")
+ (render-json (all-packages-json)))
+ ((GET "packages" name)
+ (match (string-split name #\.)
+ ((name ext)
+ (render-json
+ (if (string=? ext "json")
+ (view-package-json name)
+ '())))
+ ((name)
+ (render-html (view-package name)))))
+ ((POST "packages" name "install")
+ (let ((package (car (find-packages-by-name name))))
+ (if (package-install package)
+ (created)
+ (unprocessable-entity))))
+ ((GET "librejs")
+ (render-html (librejs)))
+ (_ #f)))