diff options
author | EuAndreh <eu@euandre.org> | 2025-03-31 21:51:40 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2025-03-31 21:51:40 -0300 |
commit | 570ec471d1605318aeefb030cd78682ae442235b (patch) | |
tree | 51e17eabe37c6689f8799b55e6875c3480329a2c /src/content/pastebins/2021/09 | |
parent | Makefile, mkdeps.sh: Derive index.html and feed.xml from more static "sortdat... (diff) | |
download | euandre.org-570ec471d1605318aeefb030cd78682ae442235b.tar.gz euandre.org-570ec471d1605318aeefb030cd78682ae442235b.tar.xz |
src/content/: Update all files left to asciidoc
Diffstat (limited to 'src/content/pastebins/2021/09')
-rw-r--r-- | src/content/pastebins/2021/09/02/sicp-3-19.adoc | 24 | ||||
-rw-r--r-- | src/content/pastebins/2021/09/03/sicp-persistent-queue.adoc | 37 |
2 files changed, 21 insertions, 40 deletions
diff --git a/src/content/pastebins/2021/09/02/sicp-3-19.adoc b/src/content/pastebins/2021/09/02/sicp-3-19.adoc index 75ee346..f6aa8cf 100644 --- a/src/content/pastebins/2021/09/02/sicp-3-19.adoc +++ b/src/content/pastebins/2021/09/02/sicp-3-19.adoc @@ -1,18 +1,7 @@ ---- += SICP exercise 3.19 -title: SICP exercise 3.19 - -date: 2021-09-02 - -layout: post - -lang: en - -ref: sicp-exercise-3-19 - ---- - -```scheme +[source,scheme] +---- (define (cycle? l) (define (rec l x) (cond @@ -20,11 +9,12 @@ ref: sicp-exercise-3-19 ((eq? l x) true) (true (rec l (cdr x))))) (rec l (cdr l))) -``` +---- Sample interactive session: -```scheme +[source,scheme] +---- scheme@(guile-user)> (define true #t) scheme@(guile-user)> (define false #f) scheme@(guile-user)> @@ -39,4 +29,4 @@ scheme@(guile-user)> (cycle? '(1 2 3)) $9 = #f scheme@(guile-user)> (cycle? (make-cycle '(1 2 3))) $10 = #t -``` +---- diff --git a/src/content/pastebins/2021/09/03/sicp-persistent-queue.adoc b/src/content/pastebins/2021/09/03/sicp-persistent-queue.adoc index 8cf7ea2..2b4a8a2 100644 --- a/src/content/pastebins/2021/09/03/sicp-persistent-queue.adoc +++ b/src/content/pastebins/2021/09/03/sicp-persistent-queue.adoc @@ -1,36 +1,25 @@ ---- += SICP persistent amortized O(1) queue -title: SICP persistent amortized O(1) queue - -date: 2021-09-03 - -layout: post - -lang: en - -ref: sicp-persistent-amortized-o1-queue - ---- - -```scheme +[source,scheme] +---- (define (queue) (cons '() - '())) + '())) (define (enqueue x q) (cons (car q) - (cons x (cdr q)))) + (cons x (cdr q)))) (define (flush q) (cons (reverse (cdr q)) - '())) + '())) (define (dequeue q) (if (null? (car q)) (dequeue (flush q)) (cons (caar q) - (cons (cdar q) - (cdr q))))) + (cons (cdar q) + (cdr q))))) (define (empty? q) (and (null? (car q)) @@ -43,7 +32,7 @@ ref: sicp-persistent-amortized-o1-queue (define (rec l leading-space?) (when (not (null? l)) (when leading-space? - (display " ")) + (display " ")) (display (car l)) (rec (cdr l) #t))) @@ -52,10 +41,12 @@ ref: sicp-persistent-amortized-o1-queue (rec (reverse (cdr q)) (not (null? (car q)))) (display ")") (newline)) -``` +---- Sample interactive session: -```scheme + +[source,scheme] +---- scheme@(guile-user)> (define true #t) scheme@(guile-user)> (define false #f) scheme@(guile-user)> (define q (queue)) @@ -82,4 +73,4 @@ scheme@(guile-user)> (print-queue q) #q(b c d e) scheme@(guile-user)> (print-queue (cdr (dequeue (cdr (dequeue (enqueue 'g (enqueue 'f q))))))) #q(d e f g) -``` +---- |