+
+
/* traversable.vala
*
* Copyright (C) 2011 Maciej Piechotka
*
* ''{@link Iterable} implementation:'' {@link Iterator.valid validity}
* of returned iterator is the same as for {@link Iterator.valid invalid}
- * iterator. In other words the following code is semantically equivalemnt:
+ * iterator. In other words the following code is semantically equivalent:
*
* {{
* var x = iterable.function (args);
*
* 1. state. It is usually the last returned value from function but
* it may be {@link Stream.END} when {@link Stream.CONTINUE} was
- * returned and threre was no more elements.
+ * returned and there was no more elements.
* 2. input. It is valid only if first argument is
* {@link Stream.CONTINUE}
* 3. output. It is valid only if result is Stream.YIELD
* It may return one of 3 results:
*
* 1. {@link Stream.YIELD}. It means that value was yielded and can
- * be passed to outgoint iterator.
+ * be passed to outgoing iterator.
* 2. {@link Stream.CONTINUE}. It means that the function needs to be
* called with next element or with {@link Stream.END} if it is
* end of stream). If the state element was Stream.END during the
* current iteration function ''must not'' return {@link Stream.CONTINUE}
* 3. Stream.END. It means that the last argument was yielded.
*
- * If the function yields the value immidiatly then the returning iterator
+ * If the function yields the value immediately then the returning iterator
* is {@link valid} and points to this value as well as in case when the
* parent iterator is {@link Iterator.valid valid} and function yields
* after consuming 1 input. In other case returned iterator is invalid.
*
* ''{@link Iterator} implementation:'' If iterator is
* {@link Iterator.valid valid} the current value should be fed
- * immidiatly to function if during initial call function returns
+ * immediately to function if during initial call function returns
* {@link Stream.CONTINUE}. The parent iterator cannot be used before
* the functions return {@link Stream.END} afterwards it points on the
* last element consumed.
public abstract Iterator<A> stream<A> (owned StreamFunc<G, A> f);
/**
- * Standard aggragation function.
+ * Standard aggregation function.
*
* It takes a function, seed and first element, returns the new seed and
* progress to next element when the operation repeats.
/**
* Produces an iterator pointing at elements generated by function passed.
*
- * Iterator is lazy evaulated but value is force-evaulated when
- * iterator {@link Iterator.nextmoves to next element}.
+ * Iterator is lazy evaluated but value is force-evaluated when
+ * iterator {@link Iterator.next moves to next element}.
*
* ''Note:'' Default implementation uses {@link stream}.
*
* ''{@link Iterator} implementation:'' If the parent iterator is
* {@link Iterator.valid valid} so is the returned one. Using the parent
- * iterator is not allowed befor the inner iterator {@link Iterator.next
+ * iterator is not allowed before the inner iterator {@link Iterator.next
* next} return false and then it points on its last element.
*
* @param f Mapping function
}
/**
- * Creates a new iterator that is initialy pointing to seed. Then
+ * Creates a new iterator that is initially pointing to seed. Then
* subsequent values are obtained after applying the function to previous
* value and the subsequent items.
*
/**
* Creates a new iterator that contains only values that fullfills the
- * pedicate.
+ * predicate.
*
* ''Note:'' There is implementation {@link filter_impl}.
*
* ''{@link Iterator} implementation:'' Resulting iterator is valid. Using the parent
- * iterator is not allowed befor the inner iterator {@link Iterator.next
+ * iterator is not allowed before the inner iterator {@link Iterator.next
* next} return false and then it points on its last element.
*
* @param f Folding function
*
* ''{@link Iterator} implementation:'' Resulting iterator is valid when
* parent iterator is valid and the offset is 0. Using the parent
- * iterator is not allowed befor the inner iterator {@link Iterator.next
+ * iterator is not allowed before the inner iterator {@link Iterator.next
* next} return false and then it points on its last element.
*
- * ''{@link Iterable} implementation:'' Resurling iterator is invalid.
+ * ''{@link Iterable} implementation:'' Resulting iterator is invalid.
*
* @param offset the offset to first element the iterator is pointing to
* @param length maximum number of elements iterator may return. Negative