From 03f30ecf568e25fe2e1ff4901e919009c84b1591 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 7 Dec 2016 21:28:24 +0000 Subject: [PATCH] Added (if-syntax?) --- scheme/cyclone/util.sld | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scheme/cyclone/util.sld b/scheme/cyclone/util.sld index e043e8ed..644f0288 100644 --- a/scheme/cyclone/util.sld +++ b/scheme/cyclone/util.sld @@ -13,6 +13,7 @@ ;; Code analysis tagged-list? if? + if-syntax? begin? lambda? pair->list @@ -90,6 +91,14 @@ (define (if? exp) (tagged-list? 'if exp)) +(define (if-syntax? exp) + (and + (if? exp) + (or + (= (length exp) 3) + (= (length exp) 4)))) + + ; begin? : exp -> boolean (define (begin? exp) (tagged-list? 'begin exp))