Here's the test case I ran: def fact(n)
if (iso n 0)
1
* n (fact (- n 1))
def foo(m)
when (> m 0)
fact 20
foo (- m 1)
(wart doesn't have for/repeat loops yet)arc/racket computes fact.20 in about half a millisecond, and wart currently[1] takes about half a second. I'm not yet at the point where I'm thinking about performance. The goal is first to build the language to the point where I can build a performance model in space and time for wart programs. Then I'll be able to write deterministic performance tests for wart programs. [1] http://github.com/akkartik/wart/tree/cb1392875d |