diff --git a/collects/mztake/demos/dijkstra/dijkstra-test.ss b/collects/mztake/demos/dijkstra/dijkstra-test.ss index 4d1304c982..87ab190838 100644 --- a/collects/mztake/demos/dijkstra/dijkstra-test.ss +++ b/collects/mztake/demos/dijkstra/dijkstra-test.ss @@ -1,39 +1,39 @@ - (require "dijkstra-solver.ss" (lib "match.ss")) -(define-mztake-process p +(define-mztake-process p ("dijkstra.ss") - ("heap.ss" - [inserts 49 6 bind 'item] - [removes 67 10 bind 'result])) + ("heap.ss" [inserts 49 6 bind 'item] + [removes 67 10 bind 'result])) (define (not-in-order e) (filter-e (match-lambda [('reset _) false] [(_ 'reset) false] - [(previous current) (> previous current)]) + [(previous current) (> previous current)] + [else false]) (history-e 2 e))) -(history-e 5 (history-e 2 (merge-e (removes . ==> . node-weight) - (inserts . -=> . 'reset)))) -(define violations - (not-in-order (merge-e (removes . ==> . node-weight) - (inserts . -=> . 'reset)))) +(define inserts-and-removes-e (merge-e (removes . ==> . node-weight) + (inserts . -=> . 'reset))) +(define violations (not-in-order inserts-and-removes-e)) + + +(printf-b "all inserts and removes: ~a" (history-b inserts-and-removes-e)) +(printf-b "all violations: ~a" (history-b violations)) +(printf-b "latest-violation: ~a" (hold violations)) -(define latest-violation (hold violations)) (define ((insert-in-model item) model) (cons item model)) (define ((remove-from-model item) model) (filter (lambda (i) (eq? i item)) model)) -(define inserters (inserts . ==> . insert-in-model)) -(define removers (removes . ==> . remove-from-model)) +(define inserters (accum-e (inserts . ==> . insert-in-model) empty)) +(define removers (accum-e (removes . ==> . remove-from-model) empty)) -(define model (accum-b (merge-e inserters removers) empty)) +(define model (merge-e inserters removers)) -(printf-b "latest-violation: ~a" latest-violation) (printf-b "model: ~a" model) (start/resume p) diff --git a/collects/mztake/demos/dijkstra/dijkstra.ss b/collects/mztake/demos/dijkstra/dijkstra.ss index 30873322d1..7b69484f3a 100644 --- a/collects/mztake/demos/dijkstra/dijkstra.ss +++ b/collects/mztake/demos/dijkstra/dijkstra.ss @@ -33,8 +33,4 @@ ;(pretty-print (graph-to-list g)) (printf "output:~n") (print-struct #t) - (pretty-print (solve g (reverse nodes) (n-ref 's))) - - - - ) \ No newline at end of file + (pretty-print (solve g (reverse nodes) (n-ref 's)))) \ No newline at end of file diff --git a/collects/mztake/demos/dijkstra/doc.txt b/collects/mztake/demos/dijkstra/doc.txt deleted file mode 100644 index 497208f96e..0000000000 --- a/collects/mztake/demos/dijkstra/doc.txt +++ /dev/null @@ -1,4 +0,0 @@ -Add this to the demos section of the main doc. - -demos/djikstra/dijkstra-test.ss - debugs a buggy implementation of - Dijkstra's algorithm \ No newline at end of file diff --git a/collects/mztake/demos/random/random screenshot 2.jpg b/collects/mztake/demos/random/random screenshot 2.jpg new file mode 100644 index 0000000000..3986eb54ec Binary files /dev/null and b/collects/mztake/demos/random/random screenshot 2.jpg differ diff --git a/collects/mztake/doc.txt b/collects/mztake/doc.txt index b9bf4dbded..4d26d0b011 100644 --- a/collects/mztake/doc.txt +++ b/collects/mztake/doc.txt @@ -159,6 +159,9 @@ MzTake without ever having written a FrTime script before! can trace first-class functions, such as those passed to map. + ./djikstra/dijkstra-test.ss - debugs a buggy implementation of + Dijkstra's algorithm + ============================================================