summaryrefslogtreecommitdiff
path: root/src/cli/runtime/FnSeq.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cli/runtime/FnSeq.cs')
-rw-r--r--src/cli/runtime/FnSeq.cs46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/cli/runtime/FnSeq.cs b/src/cli/runtime/FnSeq.cs
deleted file mode 100644
index 27374eea..00000000
--- a/src/cli/runtime/FnSeq.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Copyright (c) Rich Hickey. All rights reserved.
- * The use and distribution terms for this software are covered by the
- * Common Public License 1.0 (http://opensource.org/licenses/cpl.php)
- * which can be found in the file CPL.TXT at the root of this distribution.
- * By using this software in any fashion, you are agreeing to be bound by
- * the terms of this license.
- * You must not remove this notice, or any other, from this software.
- **/
-
-using System;
-
-namespace clojure.lang
-{
-
-public class FnSeq : ASeq{
-
-Object _first;
-IFn restFn;
-volatile ISeq _rest;
-
-public FnSeq(Object first, IFn restFn) {
- this._first = first;
- this.restFn = restFn;
- this._rest = this;
- }
-
-override public Object first() {
- return _first;
-}
-
-override public ISeq rest() {
- if(_rest != this)
- return _rest;
- lock(this){
- if(_rest == this)
- {
- _rest = (ISeq) restFn.invoke();
- restFn = null;
- }
- return _rest;
- }
- }
-}
-
-}