Difference between revisions of "Curried Higher Order Function Debugging"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
=Code To Debug= | =Code To Debug= | ||
− | {{SMLToDebug| | + | {{SMLToDebug|a_fix_me_hof_hof|group_curry_hof_debug}} |
− | + | <syntaxhighlight lang="sml"> | |
+ | fun add(a,b) = | ||
+ | a + b | ||
+ | val sum = foldl(add, 0, [1,2,3,4]) | ||
+ | </syntaxhighlight> | ||
− | {{SMLToDebug| | + | {{SMLToDebug|b_fix_me_hof_hof|group_curry_hof_debug}} |
− | + | <syntaxhighlight lang="sml"> | |
+ | val sum = foldl(op+, 0, [1,2,3,4]) | ||
+ | </syntaxhighlight> | ||
− | {{SMLToDebug| | + | {{SMLToDebug|c_fix_me_hof_hof|group_curry_hof_debug}} |
− | {{SMLToDebug| | + | <syntaxhighlight lang="sml"> |
+ | fun range(min, maxExclusive) = | ||
+ | if min>=maxExclusive | ||
+ | then [] | ||
+ | else min::range(min+1, maxExclusive) | ||
+ | |||
+ | val xs = range(1, 5) | ||
+ | val sum_a = foldl op+ 0 xs | ||
+ | val sum_b = foldl op+ 0 range(1, 5) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | {{SMLToDebug|d_fix_me_hof_hof|group_curry_hof_debug}} | ||
+ | |||
+ | <syntaxhighlight lang="sml"> | ||
+ | fun to_x(x, _) = | ||
+ | x | ||
+ | |||
+ | val xys = [(10,20), (30,40), (50, 60)] | ||
+ | |||
+ | val xs = map xys to_x | ||
+ | |||
+ | val sum_xs = foldl op+ 0 xs | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | {{SMLToDebug|e_fix_me_hof_hof|group_curry_hof_debug}} | ||
+ | |||
+ | <syntaxhighlight lang="sml"> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | {{SMLToDebug|f_fix_me_hof_hof|group_curry_hof_debug}} | ||
+ | |||
+ | <syntaxhighlight lang="sml"> | ||
+ | </syntaxhighlight> | ||
=Code To Implement= | =Code To Implement= | ||
{{SMLToImplement|starts_with_h|starts_with_h|group_curry_hof_debug}} | {{SMLToImplement|starts_with_h|starts_with_h|group_curry_hof_debug}} |
Revision as of 01:32, 19 September 2024
Code To Debug
file: | src/main/sml/group_curry_hof_debug/a_fix_me_hof_hof.sml |
fun add(a,b) =
a + b
val sum = foldl(add, 0, [1,2,3,4])
file: | src/main/sml/group_curry_hof_debug/b_fix_me_hof_hof.sml |
val sum = foldl(op+, 0, [1,2,3,4])
file: | src/main/sml/group_curry_hof_debug/c_fix_me_hof_hof.sml |
fun range(min, maxExclusive) =
if min>=maxExclusive
then []
else min::range(min+1, maxExclusive)
val xs = range(1, 5)
val sum_a = foldl op+ 0 xs
val sum_b = foldl op+ 0 range(1, 5)
file: | src/main/sml/group_curry_hof_debug/d_fix_me_hof_hof.sml |
fun to_x(x, _) =
x
val xys = [(10,20), (30,40), (50, 60)]
val xs = map xys to_x
val sum_xs = foldl op+ 0 xs
file: | src/main/sml/group_curry_hof_debug/e_fix_me_hof_hof.sml |
file: | src/main/sml/group_curry_hof_debug/f_fix_me_hof_hof.sml |
Code To Implement
file: | src/main/sml/group_curry_hof_debug/starts_with_h.sml | |
functions: | starts_with_h |