view tests/fact.ur @ 2084:0d48cfb59b29

More aggressive inlining of 'let' with record literals, plus some changes to Monoization of queries, to make inlining more common
author Adam Chlipala <adam@chlipala.net>
date Thu, 04 Dec 2014 02:47:24 -0500
parents a71223513c77
children
line wrap: on
line source
fun fact n = if n <= 1 then 1 else n * fact (n - 1)

fun factTr n acc = if n <= 1 then acc else factTr (n - 1) (n * acc)

fun main () : transaction page = return <xml>{[fact 10]}, {[factTr 10 1]}</xml>