From b3fd7bf6fc4a55887ed8f28d831dfdc8470a2dfe Mon Sep 17 00:00:00 2001 From: Jesse McDonald Date: Sat, 1 May 2010 16:13:04 -0500 Subject: [PATCH] Adjust initial allocations to improve memory efficiency. Also convert existing .rls (Rosella Source) files to module syntax. --- rosella.c | 2 +- src/examples/fact-iter.rls | 11 ++++++----- src/examples/fact-recurse.rls | 11 ++++++----- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/rosella.c b/rosella.c index f88b89e..048d8e0 100644 --- a/rosella.c +++ b/rosella.c @@ -47,7 +47,7 @@ int main(int argc, char **argv) } #endif - gc_init(6*1024*1024, 10*1024*1024, 16*1024*1024); + gc_init(1024*1024, 1024*1024, 4*1024*1024); builtin_init(); interpreter_init(); diff --git a/src/examples/fact-iter.rls b/src/examples/fact-iter.rls index 6133904..481226d 100644 --- a/src/examples/fact-iter.rls +++ b/src/examples/fact-iter.rls @@ -1,5 +1,6 @@ -(letrec ([fact-iter (lambda (n product) - (if (fix> n 1) - (fact-iter (fix- n 1) (fix* n product)) - product))]) - (fact-iter (string->number (car argv)) 1)) +(define (fact-iter n product) + (if (fix> n 1) + (fact-iter (fix- n 1) (fix* n product)) + product)) + +(fact-iter (string->number (car *argv*)) 1) diff --git a/src/examples/fact-recurse.rls b/src/examples/fact-recurse.rls index 64406cc..007c8d1 100644 --- a/src/examples/fact-recurse.rls +++ b/src/examples/fact-recurse.rls @@ -1,5 +1,6 @@ -(letrec ([fact (lambda (n) - (if (fix> n 1) - (fix* n (fact (fix- n 1))) - 1))]) - (fact (string->number (car argv)))) +(define (fact n) + (if (fix> n 1) + (fix* n (fact (fix- n 1))) + 1)) + +(fact (string->number (car *argv*)))