From 960e4410f76801356ebd42801c914b2910a302a7 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Mon, 18 Nov 2024 08:21:58 -0300
Subject: v0 migration to mkwb

---
 src/content/pastebins/2021/09/02/sicp-3-19.adoc | 42 +++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 src/content/pastebins/2021/09/02/sicp-3-19.adoc

(limited to 'src/content/pastebins/2021/09/02/sicp-3-19.adoc')

diff --git a/src/content/pastebins/2021/09/02/sicp-3-19.adoc b/src/content/pastebins/2021/09/02/sicp-3-19.adoc
new file mode 100644
index 0000000..75ee346
--- /dev/null
+++ b/src/content/pastebins/2021/09/02/sicp-3-19.adoc
@@ -0,0 +1,42 @@
+---
+
+title: SICP exercise 3.19
+
+date: 2021-09-02
+
+layout: post
+
+lang: en
+
+ref: sicp-exercise-3-19
+
+---
+
+```scheme
+(define (cycle? l)
+  (define (rec l x)
+    (cond
+      ((null? x) false)
+      ((eq? l x) true)
+      (true (rec l (cdr x)))))
+  (rec l (cdr l)))
+```
+
+Sample interactive session:
+
+```scheme
+scheme@(guile-user)> (define true #t)
+scheme@(guile-user)> (define false #f)
+scheme@(guile-user)>
+(define (cycle? l)
+  (define (rec l x)
+    (cond
+      ((null? x) false)
+      ((eq? l x) true)
+      (true (rec l (cdr x)))))
+  (rec l (cdr l)))
+scheme@(guile-user)> (cycle? '(1 2 3))
+$9 = #f
+scheme@(guile-user)> (cycle? (make-cycle '(1 2 3)))
+$10 = #t
+```
-- 
cgit v1.2.3

