Unfortunally, the Google App Engine [L1 ] only seems to support Java and Python.
I wonder if Jacl helps us?
NEM 2010-01-08: Yes, Jacl (or the TJC compiler) can be used to deploy Tcl applications to Google's app engine (technically, at least -- you'd have to check Google's terms of service). An example servlet that should work follows. This simple servlet evaluates any arbitrary code that you pass in the ?script= parameter (e.g., script=puts+%22Hello,%20World!%22). Obviously, don't deploy this to a production server!
package jacltest; import java.io.IOException; import java.io.PrintStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import tcl.lang.*; /** * A simple demo of using Jacl to evaluate code for Google's AppEngine. * @author nem */ public class JaclServlet extends HttpServlet { /** * Processes requests for the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintStream out = new PrintStream(response.getOutputStream()); Interp interp = new Interp(); StdChannel.setOut(out); StdChannel.setErr(out); try { out.println("<html>"); out.println("<head>"); out.println("<title>Jacl Results</title>"); out.println("</head>"); out.println("<body>"); out.println("<pre>"); String[] cmds = request.getParameterValues("script"); for (String cmd : cmds) { try { interp.eval(cmd); out.println(interp.getResult().toString()); } catch (TclException ex) { out.println("ERROR: " + ex.getMessage()); } } out.println("</pre>"); out.println("</body>"); out.println("</html>"); } catch (Exception ex) { out.println("EXN: " + ex); } finally { out.close(); interp.dispose(); } } /** * Returns a short description of the servlet. * @return a String containing servlet description */ @Override public String getServletInfo() { return "Jacl interpreter"; } }