Files
sml-projects/.rope.sml.swp

20 lines
20 KiB
Plaintext
Raw Normal View History

2024-02-15 12:30:48 +00:00
b0VIM 9.0<13>QeA<65><41><02>humzashahidHumzas-Mac-mini.broadband~humzashahid/Documents/mlton/rope.smlutf-8 U3210#"! U
<00>
<00>
<00>
<00>
<00>
<00>
s
F
'

<00> <00> <00> <00> h J  <00><00><00><00><00>~NE)<00><00><00><00>oQ <00><00><00><00><00>{\[=%<00><00><00><00><00>cE'<00><00><00><00>i_;1<00><00><00><00><00><00>n> <00><00>|sD= N2(left, left_size, right_size, right) in val left_size = t1_size + t2_size val right_size = t3_size + t4_size val right = N2(t3, t3_size, t4_size, t4) val t4_size = size t4 val t3_size = size t3 val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | (t1, N3(t2, t3, t4)) => end N3(t1, N1 t2, right) in val right = N2(t3, size t3, size t4, t4) let | (t1 as N2 _, N3(t2, t3, t4)) => end N2(left, left_size, right_size, right) in val left_size = t1_size + t2_size val right_size = t3_size + t4_size val right = N2(t3, t3_size, t4_size, t4) val t4_size = size t4 val t3_size = size t3 val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | (N1 t1, N3(t2, t3, t4)) => (t1, L2(s1, s2)) => N3(t1, N0 s1, N0 s2) case (left, right) offun ins_n2_right left right = N2(l, size l, size r, r) | (l, r) => end N2(left, left_size, right_size, right) in val right_size = t3_size + t4_size val left_size = t1_size + t2_size val right = N2(t3, t3_size, t4_size, t4) val t4_size = size t4 val t3_size = size t3 val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | (N3(t1, t2, t3), t4) => end N3(left, N1 t3, t4) in val left = N2(t1, size t1, size t2, t2) let | (N3(t1, t2, t3), t4 as N2 _) => end N2(left, left_size, right_size, right) in val right_size = t3_size + t4_size val right = N2(t3, t3_size, t4_size, t4) val t4_size = size t4 val t3_size = size t3 val left_size = t1_size + t2_size val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | (N3(t1, t2, t3), N1 t4) => (L2(s1, s2), t3) => N3(N0 s1, N0 s2, t3) case (left, right) offun ins_n2_left left right = | t => N1 t end N2(left, left_size, t3_size, N1 t3) in val t3_size = size t3 val left_size = t1_size + t2_size val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | N3(t1, t2, t3) => N2(N0 s1, String.size s1, String.size s2, N0 s2) L2(s1, s2) => case rope offun n1 rope = | t => t end N2(left, left_size, t3_size, N1 t3) in val t3_size = size t3 val left_size = t1_size + t2_size val left = N2(t let val t1_size = size t1 | N3(t1, t2, t3) let val t1_size = size t1 | N3(t1, t2, t3) => N2(N0 s1, String.size s1, String.size s2, N0 s2) L2(s1, s2) => case rope offun root rope = | _ => raise Size end t1_size + t2_size + t3_size in val t3_size = size t3 val t2_size = size t2 val t1_size = size t1 let | N3(t1, t2, t3) => | N2(_, lm, rm, _) => lm + rm | N1 t => size t N0 s => String.size s case rope offun size rope = exception To_stringexception Deleteexception Substringexception Insexception Sizefun of_string string = N0 stringval empty = N0 ""val target_length = 1024 | N3 of rope * rope * rope | L2 of string * string | N2 of rope * int * int * rope | N1 of rope N0 of stringdatatype rope = ad@<00><00><00><00><00><00><00><00><00><00>xnOF1' <00><00><00><00><00><00><00>
<00>
<00>
<00>

a
C

<00> <00> <00> <00> { m N M /  <00><00><00><00><00>U7<00><00><00><00>[Q-#<00><00><00><00><00><00>~`0<00><00><00>ne6( N2(lef N2(left, left_size, right_size, right) in val left_size = t1_size + t2_size val right_size = t3_size + t4_size val right = N2(t3, t3_size, t4_size, t4) val t4_size = size t4 val t3_size = size t3 val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | (t1, N3(t2, t3, t4)) => end N3(t1, N1 t2, right) in val right = N2(t3, size t3, size t4, t4) let | (t1 as N2 _, N3(t2, t3, t4)) => end N2(left, left_size, right_size, right) in val left_size = t1_size + t2_size val right_size = t3_size + t4_size val right = N2(t3, t3_size, t4_size, t4) val t4_size = size t4 val t3_size = size t3 val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | (N1 t1, N3(t2, t3, t4)) => (t1, L2(s1, s2)) => N3(t1, N0 s1, N0 s2) case (left, right) offun ins_n2_right left right = N2(l, size l, size r, r) | (l, r) => end N2(left, left_size, right_size, right) in val right_size = t3_size + t4_size val left_size = t1_size + t2_size val right = N2(t3, t3_size, t4_size, t4) val t4_size = size t4 val t3_size = size t3 val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | (N3(t1, t2, t3), t4) => end N3(left, N1 t3, t4) in val left = N2(t1, size t1, size t2, t2) let | (N3(t1, t2, t3), t4 as N2 _) => end N2(left, left_size, right_size, right) in val right_size = t3_size + t4_size val right = N2(t3, t3_size, t4_size, t4) val t4_size = size t4 val t3_size = size t3 val left_size = t1_size + t2_size val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | (N3(t1, t2, t3), N1 t4) => (L2(s1, s2), t3) => N3(N0 s1, N0 s2, t3) case (left, right) offun ins_n2_left left right = | t => N1 t end N2(left, left_size, t3_size, N1 t3) in val t3_size = size t3 val left_size = t1_size + t2_size val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2 val t1_size = size t1 let | N3(t1, t2, t3) => N2(N0 s1, String.size s1, String.size s2, N0 s2) L2(s1, s2) => case rope offun n1 rope = | t => t end N2(left, left_size, t3_size, N1 t3) in val t3_size = size t3 val left_size = t1_size + t2_size val left = N2(t1, t1_size, t2_size, t2) val t2_size = size t2