From d32fe6d0c6151db329335f8fdc32cba35bb2abd6 Mon Sep 17 00:00:00 2001 From: Danny Yoo Date: Mon, 28 Feb 2011 12:48:19 -0500 Subject: [PATCH] fib --- runtime.js | 11 +++++++++++ test-browser-evaluate.rkt | 15 ++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/runtime.js b/runtime.js index 97fa975..7ef11f5 100644 --- a/runtime.js +++ b/runtime.js @@ -13,10 +13,16 @@ var Primitives = { 'display': function(argl) { MACHINE.params.currentDisplayer(argl[0]); }, + 'newline': function(argl) { MACHINE.params.currentDisplayer("\n"); }, + 'displayln': function(argl){ + MACHINE.params.currentDisplayer(argl[0]); + MACHINE.params.currentDisplayer("\n"); + }, + '=': function(argl) { return argl[0] === argl[1][0]; }, @@ -44,16 +50,21 @@ var Primitives = { 'cons': function(argl) { return [argl[0], argl[1][0]]; }, + 'list': function(argl) { return argl; }, + 'car': function(argl) { return argl[0][0]; }, + 'cdr': function(argl) { return argl[0][1]; }, + 'null' : undefined, + 'null?': function(argl) { return argl[0] === undefined; } diff --git a/test-browser-evaluate.rkt b/test-browser-evaluate.rkt index 74e765e..24d255a 100644 --- a/test-browser-evaluate.rkt +++ b/test-browser-evaluate.rkt @@ -50,4 +50,17 @@ (tak (- z 1) x y)) z)) (display (tak 18 12 6))) - "7") \ No newline at end of file + "7") + + +(test '(begin (define (fib x) + (if (< x 2) + x + (+ (fib (- x 1)) + (fib (- x 2))))) + (displayln (fib 3)) + (displayln (fib 4)) + (displayln (fib 5)) + (displayln (fib 6))) + "2\n3\n5\n8\n") + \ No newline at end of file