From 0a6ff7031819b77e978f5c9f99eecb0577179ba7 Mon Sep 17 00:00:00 2001 From: Mistivia Date: Fri, 20 Jun 2025 20:48:25 +0800 Subject: update macro --- Readme.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Readme.md b/Readme.md index bacfea8..a604193 100644 --- a/Readme.md +++ b/Readme.md @@ -22,6 +22,8 @@ make profile=release ## Example +### 1. Y Combinator + ```lisp (defun Y (f) (funcall @@ -40,3 +42,19 @@ make profile=release (funcall fibo 10) ``` +### 2. Macro + +```lisp +(defmacro inc (x) + `(setq ,x (+ ,x 1))) + +(defmacro for (start pred inc . body) + `(let (,start) + (while ,pred + ,@body + ,inc))) + +(for (i 0) (< i 10) (inc i) + (show "meow")) +``` + -- cgit v1.0