Resource Aware ML, Version 1.4.2, July 2018 Typechecking module ... Typecheck successful. Stack-based typecheck successful. Analyzing function append ... Trying degree: 1 == append : ['a list; 'a list] -> 'a list Non-zero annotations of the argument: 9.00 <-- ([::(*)], []) 3.00 <-- ([], []) Non-zero annotations of result: Simplified bound: 3.00 + 9.00*M where M is the number of ::-nodes of the 1st component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 41 ==== Analyzing function partition ... Trying degree: 1 == partition : ['a -> bool; 'a list] -> 'a list * 'a list Non-zero annotations of the argument: 19.00 <-- (*, [::(*)]) 5.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 5.00 + 19.00*M where M is the number of ::-nodes of the 2nd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 69 ==== Analyzing function quicksort ... Trying degree: 1 == quicksort : ['a -> 'a -> bool; 'a list] -> 'a list Non-zero annotations of the argument: 35.00 <-- (*, [::(*)]) 3.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 3.00 + 35.00*M where M is the number of ::-nodes of the 2nd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.03 seconds #Constraints: 159 ==== Analyzing function comp ... Trying degree: 1 == comp : [['a; 'b] -> 'c; 'a; 'd -> 'b; 'd] -> 'c Non-zero annotations of the argument: 6.00 <-- (*, *, *, *) Non-zero annotations of result: Simplified bound: 6.00 -- Mode: lower Metric: steps Degree: 1 Run time: 0.01 seconds #Constraints: 16 ==== Analyzing function walk ... Trying degree: 1 == walk : ('a -> 'a -> bool) -> [('b * 'a list) either list; ('b * 'a list) either list] -> ('b * 'a list) either list Non-zero annotations of the argument: 1.00 <-- * Non-zero annotations of result: Simplified bound: 1.00 -- Mode: lower Metric: steps Degree: 1 Run time: 0.02 seconds #Constraints: 8 ==== Analyzing function rev_sort ... Trying degree: 1 == rev_sort : ['a -> 'a -> bool; ('b * 'a list) either list] -> ('b * 'a list) either list Non-zero annotations of the argument: 23.00 <-- (*, [::([])]) 10.00 <-- (*, []) Non-zero annotations of result: Simplified bound: 10.00 + 23.00*M where M is the number of ::-nodes of the 2nd component of the argument -- Mode: lower Metric: steps Degree: 1 Run time: 0.05 seconds #Constraints: 303 ====