CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more...
Transcript of CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more...
CS 696 Functional Programming and DesignFall Semester, 2015
Doc 24 Debugging & Scientific Method Dec 1, 2015
Copyright ©, All rights reserved. 2015 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA. OpenContent (http://www.opencontent.org/openpub/) license defines the copyright on this document.
Tuesday, December 1, 15
2
Tuesday, December 1, 15
3
Tuesday, December 1, 15
Talk At:
4
https://www.youtube.com/watch?v=FihU5JxmnBg
Tuesday, December 1, 15
5
Tuesday, December 1, 15
6
Tuesday, December 1, 15
7
Tuesday, December 1, 15
8
Tuesday, December 1, 15
9
Tuesday, December 1, 15
10
Tuesday, December 1, 15
11
Tuesday, December 1, 15
12
Tuesday, December 1, 15
13
Tuesday, December 1, 15
14
Tuesday, December 1, 15
15
Tuesday, December 1, 15
16
Tuesday, December 1, 15
17
Tuesday, December 1, 15
18
Tuesday, December 1, 15
19
Tuesday, December 1, 15
20
Tuesday, December 1, 15
21
Scientific Method is more general and powerful than all the others
Tuesday, December 1, 15
22
Tuesday, December 1, 15
Bottom Up REPL Check
23
For small problems
Take inner most form and evaluate it in the REPL
Replace the result in the next most inner form and evaluate that in REPL
Repeat
Tuesday, December 1, 15
Bottom Up REPL Check
24
(def partial-join (partial (clojure.string/join “,” )))
(clojure.string/join “,” ) => “,”
(def partial-join “,”)
(partial ",") => “,”
Tuesday, December 1, 15
25
Tuesday, December 1, 15
26
Tuesday, December 1, 15
27
The $100 slide
Tuesday, December 1, 15
28
Tuesday, December 1, 15
29
Tuesday, December 1, 15
Bisect the Problem
30
Divide & Conquer
Tuesday, December 1, 15
31
Trying random stuff is not being driven by hypothesis
Tuesday, December 1, 15
32
Tuesday, December 1, 15
33
Tuesday, December 1, 15
34
Tuesday, December 1, 15
35
Tuesday, December 1, 15
36
(Exception)
Tuesday, December 1, 15
37
Tuesday, December 1, 15