diff -r 8bf41c1a35b3 android/AndroidScriptingEnvironment/src/com/google/ase/interpreter/InterpreterUtils.java
--- a/android/AndroidScriptingEnvironment/src/com/google/ase/interpreter/InterpreterUtils.java	Fri Jan 08 15:54:56 2010 +0100
+++ b/android/AndroidScriptingEnvironment/src/com/google/ase/interpreter/InterpreterUtils.java	Fri Jan 15 02:34:39 2010 +0000
@@ -29,6 +29,7 @@
 import com.google.ase.interpreter.python.PythonInterpreter;
 import com.google.ase.interpreter.rhino.RhinoInterpreter;
 import com.google.ase.interpreter.sh.ShInterpreter;
+import com.google.ase.interpreter.tcl.TclInterpreter;
 
 /**
  * Manages and provides access to the set of available interpreters.
@@ -44,7 +45,7 @@
   private final static List<? extends Interpreter> mSupportedInterpreters =
       Arrays.asList(new LuaInterpreter(), new BshInterpreter(), new PythonInterpreter(),
           new ShInterpreter(), new JRubyInterpreter(), new PerlInterpreter(),
-          new RhinoInterpreter());
+          new RhinoInterpreter(), new TclInterpreter());
 
   public static boolean checkInstalled(final String interpreterName) {
     if (interpreterName.equals("sh")) {
diff -r 8bf41c1a35b3 android/AndroidScriptingEnvironment/src/com/google/ase/interpreter/tcl/TclInterpreter.java
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/android/AndroidScriptingEnvironment/src/com/google/ase/interpreter/tcl/TclInterpreter.java	Fri Jan 15 02:34:39 2010 +0000
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2009 Google Inc.
+ * Copyright (C) 2010 Pat Thoyts
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.ase.interpreter.tcl;
+
+import java.io.File;
+
+import com.google.ase.interpreter.Interpreter;
+import com.google.ase.interpreter.InterpreterProcess;
+
+/**
+ * Represents the Tcl interpreter.
+ *
+ * @author Pat Thoyts (patthoyts@users.sourceforge.net)
+ */
+public class TclInterpreter extends Interpreter {
+
+  private final static String TCL_BINARY = "/data/data/com.google.ase/tclsh/tclsh";
+
+  @Override
+  public String getExtension() {
+    return ".tcl";
+  }
+
+  @Override
+  public String getName() {
+    return "tclsh";
+  }
+
+  @Override
+  public InterpreterProcess buildProcess(String scriptName, int port) {
+    return new TclInterpreterProcess(scriptName, port);
+  }
+
+  @Override
+  public String getNiceName() {
+    return "Tcl 8.6b2";
+  }
+
+  @Override
+  public String getContentTemplate() {
+    return "package require android\n\nset android [android new]\n";
+  }
+
+  @Override
+  public boolean hasInterpreterArchive() {
+    return true;
+  }
+
+  @Override
+  public boolean hasInterpreterExtrasArchive() {
+    return true;
+  }
+
+  @Override
+  public boolean hasScriptsArchive() {
+    return true;
+  }
+
+  @Override
+  public File getBinary() {
+    return new File(TCL_BINARY);
+  }
+
+  @Override
+  public int getVersion() {
+    return 1;
+  }
+}
diff -r 8bf41c1a35b3 android/AndroidScriptingEnvironment/src/com/google/ase/interpreter/tcl/TclInterpreterProcess.java
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/android/AndroidScriptingEnvironment/src/com/google/ase/interpreter/tcl/TclInterpreterProcess.java	Fri Jan 15 02:34:39 2010 +0000
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2009 Google Inc.
+ * Copyright (C) 2010 Pat Thoyts
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.ase.interpreter.tcl;
+
+import java.io.File;
+
+import com.google.ase.Constants;
+import com.google.ase.interpreter.InterpreterProcess;
+
+public class TclInterpreterProcess extends InterpreterProcess {
+
+  private final static String TCL_HOME = "/data/data/com.google.ase/tclsh";
+  private final static String TCL_EXTRAS = Constants.SDCARD_ASE_ROOT + "extras/tcl/";
+
+  public TclInterpreterProcess(String launchScript, int port) {
+    super(launchScript, port);
+  }
+
+  @Override
+  protected void buildEnvironment() {
+    //mEnvironment.put("TCL_LIBRARY", TCL_HOME);
+    mEnvironment.put("TCLLIBPATH", TCL_EXTRAS);
+    mEnvironment.put("TCL_SCRIPTS", Constants.SCRIPTS_ROOT);
+    mEnvironment.put("HOME", Constants.SDCARD_ROOT);
+    File tmp = new File(TCL_EXTRAS + "tmp/");
+    if (!tmp.isDirectory()) {
+      tmp.mkdir();
+    }
+    mEnvironment.put("TEMP", tmp.getAbsolutePath());
+  }
+
+  @Override
+  protected void writeInterpreterCommand() {
+    TclInterpreter interpreter = new TclInterpreter();
+    print(interpreter.getBinary().getAbsolutePath());
+    if (mLaunchScript != null) {
+      print(" " + mLaunchScript);
+    }
+    print("\n");
+  }
+}
