<?php define("JAVA_PREFER_VALUES", true); require_once "java/Java.inc"; $system = new java("java.lang.System"); $t1 = $system->currentTimeMillis(); $here = getcwd(); // load scheme interpreter // try to load local ~/lib/kawa.jar, otherwise load it from sf.net try { java_require("kawa.jar"); } catch (JavaException $e) { java_require("http://php-java-bridge.sourceforge.net/kawa.jar"); } $s = new java("kawa.standard.Scheme"); for ($i = 0; $i < 100; $i++) { $res = java_cast($s->eval("\n\n(letrec\n ((f (lambda(v)\n (if \n\t (= v 0)\n\t 1\n\t (*\n\t (f\n\t (- v 1))\n\t v)))))\n (f {$i}))\n\n"), "D"); if ($ex = java_last_exception_get()) { $res = $ex->toString(); } java_last_exception_clear(); echo "fact({$i}) ==> {$res}\n"; } $t2 = $system->currentTimeMillis(); $delta = ($t2 - $t1) / 1000.0; $now = new java("java.sql.Timestamp", $system->currentTimeMillis()); echo "Evaluation took {$delta} s -- at: {$now}\n";