The Squirrel interpreter. See http://www.squirrel-lang.org/

Dependents:   Squirrel

Revision:
0:97a4f8cc534c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/samples/tailstate.nut	Tue Dec 16 10:20:34 2014 +0000
@@ -0,0 +1,24 @@
+function state1()
+{
+	::suspend("state1");
+	return state2();
+}
+
+function state2()
+{
+	::suspend("state2");
+	return state3();
+}
+
+function state3()
+{
+	::suspend("state3");
+	return state1();
+}
+
+local statethread = ::newthread(state1)
+
+::print(statethread.call()+"\n");
+
+for(local i = 0; i < 10000; i++)
+	::print(statethread.wakeup()+"\n");