From be17a9a9bcf47bd8421d07702340f5a6a26a908a Mon Sep 17 00:00:00 2001
From: AwesomeAdam54321 <[email protected]>
Date: Sun, 17 May 2026 11:29:09 +0800
Subject: [PATCH] runtime: mit-macros: Add `define-syntax-rule` macro.

---
 src/runtime/mit-macros.scm | 7 +++++++
 src/runtime/runtime.pkg    | 1 +
 2 files changed, 8 insertions(+)

diff --git a/src/runtime/mit-macros.scm b/src/runtime/mit-macros.scm
index cabb1f8a..941cadc4 100644
--- a/src/runtime/mit-macros.scm
+++ b/src/runtime/mit-macros.scm
@@ -463,6 +463,13 @@ USA.
      (parameterize* (list (cons param value) ...)
                    (lambda () form ...)))))

+(define-syntax $define-syntax-rule
+  (syntax-rules ()
+    ((_ (macro arg ...) expr)
+     (define-syntax macro
+       (syntax-rules ()
+        ((_ arg ...) expr))))))
+
 (define $guard
   (spar-transformer->runtime
    (delay
diff --git a/src/runtime/runtime.pkg b/src/runtime/runtime.pkg
index 4549b321..eb093b56 100644
--- a/src/runtime/runtime.pkg
+++ b/src/runtime/runtime.pkg
@@ -5248,6 +5248,7 @@ USA.
          (define-integrable $define-integrable)
          (define-record-type $define-record-type) ;(scheme base)
          (define-values $define-values) ;(scheme base)
+         (define-syntax-rule $define-syntax-rule)
          (delay $delay)                ;(scheme lazy)
          (delay-force $delay-force)    ;(scheme lazy)
          (do $do)                      ;(scheme base)
--
2.52.0

Reply via email to