CREATE OR REPLACE PACKAGE ackermann IS /* File: ackermann-memo.pls Explicit memo-fn version of ackermann's function Without memorization: Ackermann(3,10) = 8189 44698325 calls With memorization: Ackermann(3,10) = 8189 20481 calls, 4103 cache hits (functional languages can do this transparently by currying with the memo() function, eg "let ackermann = memofn(ackermann);" ) */ « Headers »
CREATE OR REPLACE PACKAGE BODY ackermann IS cache memo2d; « memofn »END;
set serveroutput on BEGIN DBMS_Output.put_line('Ackermann(3, 10) = ' || ackermann.memofn(3, 10)); END;