From f7e4dc7aec45c812deb12936bc3144b148739a02 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Fri, 14 Feb 2014 17:10:58 -0800 Subject: [PATCH] add try --- main.rkt | 6 ++++-- try.rkt | 12 ++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 try.rkt diff --git a/main.rkt b/main.rkt index 93eb9c8..f2a4f25 100644 --- a/main.rkt +++ b/main.rkt @@ -7,7 +7,8 @@ "list.rkt" "misc.rkt" "string.rkt" - "len.rkt") + "len.rkt" + "try.rkt") (provide (all-from-out @@ -17,4 +18,5 @@ "list.rkt" "misc.rkt" "string.rkt" - "len.rkt")) \ No newline at end of file + "len.rkt" + "try.rkt")) \ No newline at end of file diff --git a/try.rkt b/try.rkt new file mode 100644 index 0000000..f3a9716 --- /dev/null +++ b/try.rkt @@ -0,0 +1,12 @@ +#lang racket/base +(require (for-syntax racket/base)) + +(provide try) + +;; Pythonlike try/except +(define-syntax (try stx) + (syntax-case stx () + [(_ body ... (except tests ...)) + #'(with-handlers (tests ...) body ...)])) + +