From 7210c79b0382959083cb2c415d365a66f59cdcc9 Mon Sep 17 00:00:00 2001 From: Stephen Chang Date: Wed, 27 Aug 2014 14:50:54 -0400 Subject: [PATCH] stx-utils: add stx-length and stx-last --- stx-utils.rkt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/stx-utils.rkt b/stx-utils.rkt index 509b5da..ccb46d4 100644 --- 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