All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.krukow.clj_ds.PersistentCollection Maven / Gradle / Ivy

package com.github.krukow.clj_ds;

import java.util.Collection;

/**
 * The base interface for all persistent data structures. A persistent data
 * structure combines immutability with efficient runtime properties. For more
 * information read the Persistent Data
 * Structure article on Wikipedia.
 * 
 * @param 
 *            The type of objects held in the collection.
 */
public interface PersistentCollection extends Collection {

	/**
	 * @return An empty instance of this kind of collection.
	 */
	PersistentCollection zero();

	/**
	 * @return A new collection consisting of all elements of the current
	 *         collection together with the value val.
	 */
	PersistentCollection plus(E val);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy