commit 7210c79b0382959083cb2c415d365a66f59cdcc9
parent ea5d0d1a0289ba8b604565303f67af117b87d18b
Author: Stephen Chang <stchang@ccs.neu.edu>
Date: Wed, 27 Aug 2014 14:50:54 -0400
stx-utils: add stx-length and stx-last
Diffstat:
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/stx-utils.rkt b/stx-utils.rkt
@@ -1,15 +1,22 @@
#lang racket/base
-(require syntax/stx)
+(require syntax/stx racket/list)
(provide (all-defined-out))
(define (stx-cadr stx) (car (stx-cdr stx)))
+
(define (stx-andmap f . stx-lsts)
(apply andmap f (map syntax->list stx-lsts)))
+
(define (stx-flatten stxs)
(apply append (stx-map syntax->list stxs)))
+
(define (curly-parens? stx)
(define paren-prop (syntax-property stx 'paren-shape))
(and paren-prop (char=? #\{ paren-prop)))
+
(define (stx-member v stx)
(member v (syntax->list stx) free-identifier=?))
-(define (stx-length stx) (length (syntax->list stx)))
-\ No newline at end of file
+
+(define (stx-length stx) (length (syntax->list stx)))
+
+(define (stx-last stx) (last (syntax->list stx)))
+\ No newline at end of file