diff options
author | EuAndreh <eu@euandre.org> | 2025-04-30 06:23:27 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2025-04-30 06:33:36 -0300 |
commit | 61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da (patch) | |
tree | fc3c799bece509682b712f6e42e2816059c83c7a /src/content/en/pastebin/2021/09/02/sicp-3-19.adoc | |
parent | Makefile: No need to remove non-generated *.mo files (diff) | |
download | euandre.org-61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da.tar.gz euandre.org-61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da.tar.xz |
src/content/en/: Unpluralize collection names
Diffstat (limited to 'src/content/en/pastebin/2021/09/02/sicp-3-19.adoc')
-rw-r--r-- | src/content/en/pastebin/2021/09/02/sicp-3-19.adoc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/content/en/pastebin/2021/09/02/sicp-3-19.adoc b/src/content/en/pastebin/2021/09/02/sicp-3-19.adoc new file mode 100644 index 0000000..166170f --- /dev/null +++ b/src/content/en/pastebin/2021/09/02/sicp-3-19.adoc @@ -0,0 +1,33 @@ += SICP exercise 3.19 +:categories: lisp programming-languages + +[source,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: + +[source,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 +---- |