2008-06-30 21:54:22 -04:00
|
|
|
; color for performance
|
|
|
|
|
2019-08-09 08:21:56 -04:00
|
|
|
(load "color.scm")
|
2008-06-30 21:54:22 -04:00
|
|
|
|
|
|
|
; 100x color 5 queens
|
switching to scheme #t, #f, and () values
porting code to sort out which NILs are false and which are
empty lists
switching to scheme-style special forms. however you feel about
scheme names vs. CL names, using both is silly.
mostly switching to scheme predicate names, with compatibility
aliases for now. adding set-constant! to make this efficient.
adding null?, eqv?, assq, assv, assoc, memq, memv, member
adding 2-argument form of if
allowing else as final cond condition
looking for init file in same directory as executable, so flisp
can be started from anywhere
renaming T to FL_T, since exporting a 1-character symbol is
not very nice
adding opaque type boilerplate example file
adding correctness checking for the pattern-lambda benchmark
bugfix in int2str
2009-01-28 20:04:23 -05:00
|
|
|
(define Q (generate-5x5-pairs))
|
|
|
|
(define (ct)
|
|
|
|
(set! C (color-pairs Q '(a b c d e)))
|
2008-06-30 21:54:22 -04:00
|
|
|
(dotimes (n 99) (color-pairs Q '(a b c d e))))
|
|
|
|
(time (ct))
|
2009-05-30 17:13:13 -04:00
|
|
|
(assert (equal? C
|
2019-08-09 10:18:36 -04:00
|
|
|
'((23 . a) (9 . a) (22 . b) (17 . d) (14 . d) (8 . b)
|
|
|
|
(21 . e) (19 . b) (16 . c) (13 . c) (11 . b) (7 . e)
|
|
|
|
(24 . c) (20 . d) (18 . e) (15 . a) (12 . a) (10 . e)
|
|
|
|
(6 . d) (5 . c) (4 . e) (3 . d) (2 . c) (0 . b) (1 . a))))
|