document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-225605\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"p\">(<\/span><span class=\"nf\">ns<\/span> <span class=\"nv\">quote-server<\/span> <\/div><div class=\"line\" id=\"LC2\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">:use<\/span> <span class=\"nv\">compojure<\/span><span class=\"p\">))<\/span> <\/div><div class=\"line\" id=\"LC3\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nb\">import <\/span><span class=\"o\">&#39;<\/span><span class=\"p\">(<\/span><span class=\"nv\">com<\/span><span class=\"o\">.<\/span><span class=\"nv\">wolfram<\/span><span class=\"o\">.<\/span><span class=\"nv\">jlink<\/span> <span class=\"nv\">MathLinkFactory<\/span><span class=\"p\">))<\/span><\/div><div class=\"line\" id=\"LC4\">&nbsp;<\/div><div class=\"line\" id=\"LC5\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"k\">defn <\/span><span class=\"nv\">html-doc<\/span> <\/div><div class=\"line\" id=\"LC6\">&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">title<\/span> <span class=\"nv\">&amp;<\/span> <span class=\"nv\">body<\/span><span class=\"p\">]<\/span> <\/div><div class=\"line\" id=\"LC7\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">html<\/span> <\/div><div class=\"line\" id=\"LC8\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">doctype<\/span> <span class=\"nv\">:html4<\/span><span class=\"p\">)<\/span> <\/div><div class=\"line\" id=\"LC9\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">:html<\/span> <\/div><div class=\"line\" id=\"LC10\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">:head<\/span> <\/div><div class=\"line\" id=\"LC11\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">:title<\/span> <span class=\"nv\">title<\/span><span class=\"p\">]]<\/span> <\/div><div class=\"line\" id=\"LC12\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">:body<\/span> <\/div><div class=\"line\" id=\"LC13\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">:div<\/span> <\/div><div class=\"line\" id=\"LC14\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nv\">body<\/span><span class=\"p\">]]]))<\/span> <\/div><div class=\"line\" id=\"LC15\">&nbsp;<\/div><div class=\"line\" id=\"LC16\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"k\">defn <\/span><span class=\"nv\">quote-form<\/span><\/div><div class=\"line\" id=\"LC17\">&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">title<\/span> <span class=\"nv\">&amp;<\/span> <span class=\"nv\">results<\/span><span class=\"p\">]<\/span>    <\/div><div class=\"line\" id=\"LC18\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">html-doc<\/span> <span class=\"nv\">title<\/span><\/div><div class=\"line\" id=\"LC19\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">form-to<\/span> <span class=\"p\">[<\/span><span class=\"nv\">:post<\/span> <span class=\"s\">&quot;/&quot;<\/span><span class=\"p\">]<\/span> <\/div><div class=\"line\" id=\"LC20\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">:div<\/span> <span class=\"s\">&quot;Symbol: &quot;<\/span> <\/div><div class=\"line\" id=\"LC21\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">text-field<\/span> <span class=\"p\">{<\/span><span class=\"nv\">:size<\/span> <span class=\"mi\">10<\/span><span class=\"p\">}<\/span> <span class=\"nv\">:symbol<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC22\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">submit-button<\/span> <span class=\"s\">&quot;Submit&quot;<\/span><span class=\"p\">)])<\/span><\/div><div class=\"line\" id=\"LC23\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">:div<\/span> <span class=\"nv\">results<\/span><span class=\"p\">]<\/span><\/div><div class=\"line\" id=\"LC24\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">))<\/span> <\/div><div class=\"line\" id=\"LC25\">&nbsp;&nbsp;<\/div><div class=\"line\" id=\"LC26\"><span class=\"p\">(<\/span><span class=\"k\">let <\/span><span class=\"p\">[<\/span><span class=\"nv\">ml<\/span> <span class=\"p\">(<\/span><span class=\"nf\">MathLinkFactory/createKernelLink<\/span> <\/div><div class=\"line\" id=\"LC27\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s\">&quot;-linkmode launch -linkname &#39;\\&quot;/Applications/Mathematica.app/Contents/MacOS/MathKernel\\&quot; -mathlink&#39;&quot;<\/span><span class=\"p\">)]<\/span><\/div><div class=\"line\" id=\"LC28\"><span class=\"c1\">;discard the initial result returned after creating link<\/span><\/div><div class=\"line\" id=\"LC29\"><span class=\"p\">(<\/span><span class=\"o\">.<\/span><span class=\"nv\">discardAnswer<\/span> <span class=\"nv\">ml<\/span><span class=\"p\">)<\/span>             <\/div><div class=\"line\" id=\"LC30\">&nbsp;<\/div><div class=\"line\" id=\"LC31\"><span class=\"p\">(<\/span><span class=\"k\">defn <\/span><span class=\"nv\">result<\/span> <\/div><div class=\"line\" id=\"LC32\">&nbsp;&nbsp;<span class=\"p\">[<\/span><span class=\"nv\">symbol<\/span><span class=\"p\">]<\/span><\/div><div class=\"line\" id=\"LC33\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"o\">.<\/span><span class=\"nv\">evaluate<\/span> <span class=\"nv\">ml<\/span> <span class=\"p\">(<\/span><span class=\"nb\">str <\/span><span class=\"s\">&quot;FinancialData[\\&quot;&quot;<\/span> <span class=\"nv\">symbol<\/span> <span class=\"s\">&quot;\\&quot;]&quot;<\/span><span class=\"p\">))<\/span><\/div><div class=\"line\" id=\"LC34\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"o\">.<\/span><span class=\"nv\">waitForAnswer<\/span> <span class=\"nv\">ml<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC35\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">quote-form<\/span> <span class=\"s\">&quot;Result&quot;<\/span> <span class=\"s\">&quot;Last Price: $&quot;<\/span> <span class=\"p\">(<\/span><span class=\"o\">.<\/span><span class=\"nv\">getString<\/span> <span class=\"nv\">ml<\/span><span class=\"p\">))<\/span>       <\/div><div class=\"line\" id=\"LC36\">&nbsp;&nbsp;<span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC37\"><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC38\">&nbsp;<\/div><div class=\"line\" id=\"LC39\">&nbsp;<\/div><div class=\"line\" id=\"LC40\"><span class=\"p\">(<\/span><span class=\"nf\">defroutes<\/span> <span class=\"nv\">webservice<\/span><\/div><div class=\"line\" id=\"LC41\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">GET<\/span> <span class=\"s\">&quot;/&quot;<\/span> <\/div><div class=\"line\" id=\"LC42\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nv\">quote-form<\/span><span class=\"p\">)<\/span> <\/div><div class=\"line\" id=\"LC43\">&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">POST<\/span> <span class=\"s\">&quot;/&quot;<\/span> <\/div><div class=\"line\" id=\"LC44\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nf\">result<\/span> <span class=\"p\">(<\/span><span class=\"nf\">params<\/span> <span class=\"nv\">:symbol<\/span><span class=\"p\">))))<\/span> <\/div><div class=\"line\" id=\"LC45\">&nbsp;<\/div><div class=\"line\" id=\"LC46\"><span class=\"p\">(<\/span><span class=\"nf\">run-server<\/span> <span class=\"p\">{<\/span><span class=\"nv\">:port<\/span> <span class=\"mi\">9000<\/span><span class=\"p\">}<\/span> <\/div><div class=\"line\" id=\"LC47\">&nbsp;&nbsp;<span class=\"s\">&quot;/*&quot;<\/span> <span class=\"p\">(<\/span><span class=\"nf\">servlet<\/span> <span class=\"nv\">webservice<\/span><span class=\"p\">))<\/span><\/div><div class=\"line\" id=\"LC48\">&nbsp;&nbsp;<\/div><div class=\"line\" id=\"LC49\">&nbsp;<\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/225605/5723d92b207c0da7161760316c4c065461d43413/gistfile1.clj\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/225605#file_gistfile1.clj\" style=\"float:right;margin-right:10px;color:#666\">gistfile1.clj<\/a>\n          <a href=\"http://gist.github.com/225605\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
