A wrapper for a Datalog query represented as a Clojure map.
A type class for types that can be used as reference values.
A type class for types that can be used as reference values.
the type of values to use as a reference value.
A conversion type class for entity ids.
A conversion type class for entity ids.
A type class for converting the various types that can be treated as temporary or permanent ids for entities.
the type of the id to convert.
A conversion type class for permanent entity ids.
A conversion type class for permanent entity ids.
A type class for converting from the various types that can be used as permanent entity ids.
the type of the id to convert.
A conversion type class for point in time values.
A conversion type class for point in time values.
A type class for converting from various point in time values.
Basis T values as Long
, transaction entity ids as Long
, and
transaction time stamps as java.util.Date
.
the type of the point in time.
The representation of Datomic attributes
A type class to convert an Attribute into an EntityReader.
A type class to convert an Attribute into an EntityReader.
This type class will determine if it is safe to cast to type T
given a Datomic type DD
and cardinality Card
.
the Datomic value type of the attribute (see SchemaType).
the cardinality of the attribute (see Cardinality).
the Scala type that the EntityReader will read.
A type class to convert an Attribute into an EntityReader.
A type class to convert an Attribute into an EntityReader.
This type class will determine a unique type T
given a Datomic
type DD
and cardinality Card
.
the Datomic value type of the attribute (see SchemaType).
the cardinality of the attribute (see Cardinality).
the Scala type that the EntityReader will read.
A type class to convert an Attribute and a Scala value into a pair of a Keyword and a Datomic value.
A type class to convert an Attribute and a Scala value into a pair of a Keyword and a Datomic value.
the Datomic value type of the attribute (see SchemaType).
the cardinality of the attribute (see Cardinality).
the Scala type that the EntityReader will read.
A type class to convert an Attribute into a PartialAddEntityWriter.
A type class to convert an Attribute into a PartialAddEntityWriter.
This type class will determine if it is safe to use type T
as a valid value
for an attribute with value type DD
and cardinality Card
.
the Datomic value type of the attribute (see SchemaType).
the cardinality of the attribute (see Cardinality).
the Scala type that the PartialAddEntityWriter will write.
Surjective for DatomicData to Scala converter : - n DD => 1 Scala type
Surjective for DatomicData to Scala converter : - n DD => 1 Scala type
Generic DatomicData to Scala type Multi-valued "function" (not real function actually) which inverse is surjective ToDatomic or ToDatomicCast 1 DatomicData -> n Scala type
Generic DatomicData to Scala type Multi-valued "function" (not real function actually) which inverse is surjective ToDatomic or ToDatomicCast 1 DatomicData -> n Scala type
FromDatomicCast fixes the source type of FromDatomic as DatomicData Trivially, is a multi-valued function from DatomicData => T
A multi-valued function, or relation, from DD => T, So the type T is no longer uniquely determined by DD.
A multi-valued function, or relation, from DD => T, So the type T is no longer uniquely determined by DD. For example, DLong maps to DLong, Long, Int, Short, Char, and Byte.
Injective form of DatomicData to Scala converter : - 1 DD => 1 Scala type - used when precise type inference by compiler
Injective form of DatomicData to Scala converter : - 1 DD => 1 Scala type - used when precise type inference by compiler
Datomic's database log is a recording of all transaction data in historic order, organized for efficient access by transaction.
Datomic's database log is a recording of all transaction data in historic order, organized for efficient access by transaction.
A wrapper for Datalog rules represented as a Clojure vector.
Surjective form of Scala to Specific DatomicData converters n Scala type => 1 DD
Surjective form of Scala to Specific DatomicData converters n Scala type => 1 DD
Scala type to Generic DatomicData (surjective) n Scala type -> DatomicData
Scala type to Generic DatomicData (surjective) n Scala type -> DatomicData
ToDatomicCast fixes the return type of ToDatomic as DatomicData
ToDatomic extends ToDatomicInj by widening the domain and also destroying the injectivity property (both Long and Int map to DLong) But it is still a function (unlike FromDatomic)
Injective form of Scala to Specific DatomicData converters 1 Scala type => 1 DD
Injective form of Scala to Specific DatomicData converters 1 Scala type => 1 DD
Think of ToDatomicInj[DD, T] as a type-level function: T => DD The implicits here construct a multi-parameter type class, and there is a functional dependency from T to DD: T uniquely determines DD.
Think of ToDatomicInj[DD, T] as a type-level function: T => DD The implicits here construct a multi-parameter type class, and there is a functional dependency from T to DD: T uniquely determines DD. In fact, this is an injective function, as there is at most one ToDatomicInj for any Scala type, and each map to distinct DatomicData subtypes. As a consequence, its inverse is a partial function.
The data queue associated with a connection.
The data queue associated with a connection.
At any point in time either zero or one queue is associated with a connection.
This queue may be safely consumed from more than one thread. Note that the queue does not block producers, and will consume memory until you consume the elements from it.
Reports will be added to the queue at some point after the database has been updated. If the associated connection originated the transaction, the transaction future will be notified first, before a report is placed on this queue.
The instances of the AsDatomicRef type class.
The instances of the AsEntityId type class.
The instances of the AsPermanentEntityId type class.
The instances of the AsPointT type class.
Main object containing:
Main object containing:
Provides methods for parsing Datalog queries and rules.