JAtheism is an open source (BSD licence) library written in the Java programming language. It is intended to be used as a general library for expressing various programming concepts in Java. While Java is far from suited as a programming language, for, well... programming (i.e. expressing some of the concepts that JAtheism attempts to encapsulate), it is sometimes forced upon software development practitioners by various forms of irrationality, including that which is self-inflicted (often referred to as the Blub Paradox). It is for these cases that this library is suitable.
This library currently provides the following features:
- An immutable, strict linked list with O(1) cons and whose functions generally run in constant stack
- An immutable, lazy linked list with O(1) cons and whose functions are generally lazy and so build the stack as they are executed
- A QuickCheck-style automated specification-based test framework