diff options
Diffstat (limited to 'src/cli/runtime/AGenerator.cs')
-rw-r--r-- | src/cli/runtime/AGenerator.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/cli/runtime/AGenerator.cs b/src/cli/runtime/AGenerator.cs new file mode 100644 index 00000000..3c051e5c --- /dev/null +++ b/src/cli/runtime/AGenerator.cs @@ -0,0 +1,36 @@ +using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace org.clojure.runtime
+ {
+public abstract class AGenerator : ISeq, Iter{
+
+ Object __val;
+ int __state = 0;
+
+
+
+ #region ISeq Members
+
+ public Iter iter()
+ {
+ //generators get 'primed' by calling iterate once, which pulls up to first yield
+ return iterate();
+ }
+
+ #endregion
+
+ #region Iter Members
+
+ public object get()
+ {
+ return __val;
+ }
+
+ abstract public Iter iterate();
+
+
+ #endregion
+ }
+ }
|