8. A non-transitory computer readable medium having stored thereon instructions which when executed by a processor cause the processor to perform the method of: loading the foreign program language function into a database management system (DBMS) server; an internal program module unit examining a foreign program language function to determine whether the foreign program language function is annotated for translation; if the foreign program language function is annotated for translation, determining by the internal program module unit if the foreign program language function is translated into a DBMS internal program language function in a database accessible to the DBMS; if the DBMS internal program language function exists, executing the internal program language function by the DBMS server, else the internal program module unit compiling the foreign program language function into an internal program language function; if the foreign program language function is not annotated for translation, executing the foreign program language function; parsing the foreign program language function; generating an abstract syntax tree of the parsed foreign program language function; inferring a type of internal variables of the foreign program language function and output results; preparing the abstract syntax tree for translation; generating an internal program language program wrapped in a stored procedure; and creating the stored procedure.
13. The non-transitory computer readable medium of claim 8 , wherein the loading step includes accessing an application server remote from the DBMS server.