lama_byterun/performance/Sort.lama

27 lines
458 B
Text
Raw Normal View History

2021-11-22 15:51:47 +03:00
fun bubbleSort (l) {
fun inner (l) {
case l of
x : z@(y : tl) ->
if compare (x, y) > 0
then [true, y : inner (x : tl) [1]]
else case inner (z) of [f, z] -> [f, x : z] esac
fi
| _ -> [false, l]
esac
}
fun rec (l) {
case inner (l) of
[true , l] -> rec (l)
| [false, l] -> l
esac
}
rec (l)
}
fun generate (n) {
if n then n : generate (n-1) else {} fi
}
bubbleSort (generate (1000))