Here is the source of the derivative calculator:
include html, mkcgi, diff. % include Ctadel packa ges form_handler_site := "http://www.cs.fsu.edu/~engelen". % the form handler site this_file := substring(file, 1, length(file)-2) where file = seeing_file. form_handler := form_handler_site // "/" // this_file // ".cgi". main := proc(local (f, x); % f is a function and x a coordinate html_tth`on; % use TtH to convert and display LaTeX math in HTML output_html( [ html_reply, html_start, html_title("Derive"), html_body(["background"="canvas.gif" | html_appearance], []), html_h1("Derive: a simple derivative calculator") ]); f := restricted_evaluate(eval(atom_to_term(html_form_value("f")))); x := restricted_evaluate(eval(atom_to_term(html_form_value("x")))); if x <@> "" and f <@> "" then output_html([html_center_math(df(f,x)=diff(f,x)), "Try", html_ref(form_handler, "another") ]) else output_html( [ html_form(form_handler, [ "Complete the derivative:", html_center_math({df("f"?=5, "x"?=["x","y","z"]) }), html_submit("Compute!") ]) ]); output_html([html__body, html_end]); halt % exit CGI ).