aboutsummaryrefslogtreecommitdiff
path: root/scheme/logo.scm
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2026-02-14 22:46:03 +1300
committerJedidiah Barber <contact@jedbarber.id.au>2026-02-14 22:46:03 +1300
commitbcb7a1156252da6cd16b7d3505e3f5b686a5669f (patch)
tree6ec75590b6fc71a08fc873430e1a82020e6bc801 /scheme/logo.scm
parentb23d73cfa76919a726558e51bf0b0f0cc7c1575e (diff)
Changed Scheme benchmark tests to need manual code copy/paste from miniKanren for better performance comparisonsHEADmaster
Diffstat (limited to 'scheme/logo.scm')
-rw-r--r--scheme/logo.scm52
1 files changed, 31 insertions, 21 deletions
diff --git a/scheme/logo.scm b/scheme/logo.scm
index 18fc9ed..fee72f7 100644
--- a/scheme/logo.scm
+++ b/scheme/logo.scm
@@ -2,6 +2,16 @@
; Equivalent to test/logo.adb
+
+; Place contents of mk.scm from simple-miniKanren here.
+; An equivalent microKanren implementation such as from the 2013 paper will also work.
+
+
+; Place contents of mkdefs.scm from simple-miniKanren here.
+; Be sure to leave out the (load "mk.scm") line.
+
+
+
(define (value bin)
(cond
((null? bin) 0)
@@ -24,26 +34,26 @@
(newline)))))
-(define (run-logo args)
- (begin
- (display "Logarithm")
- (newline)
- (test 1 1)
- (test 68 2)
- (test 68 3)
- (test 68 4)
- (test 68 5)
- (test 68 6)
- (test 68 7)
- (test 68 8)
- (newline)
- (display "Expected Failure")
- (newline)
- (display (run 1 (d) (fresh (q r) (== d `(,q ,r)) (logo 68 1 q r))))
- (newline)
- (display (run 1 (d) (fresh (q r) (== d `(,q ,r)) (logo 68 0 q r))))
- (newline)
- (display (run 1 (d) (fresh (q r) (== d `(,q ,r)) (logo 0 0 q r))))
- (newline)))
+; Main program
+(begin
+ (display "Logarithm")
+ (newline)
+ (test 1 1)
+ (test 68 2)
+ (test 68 3)
+ (test 68 4)
+ (test 68 5)
+ (test 68 6)
+ (test 68 7)
+ (test 68 8)
+ (newline)
+ (display "Expected Failure")
+ (newline)
+ (display (run 1 (d) (fresh (q r) (== d `(,q ,r)) (logo 68 1 q r))))
+ (newline)
+ (display (run 1 (d) (fresh (q r) (== d `(,q ,r)) (logo 68 0 q r))))
+ (newline)
+ (display (run 1 (d) (fresh (q r) (== d `(,q ,r)) (logo 0 0 q r))))
+ (newline))