Molecule is a Scala eco-system to define your domain
Use your Data Model attributes to build molecules of data structures that you can transact and query against the powerful Datomic® database.
trait Person {
val name = oneString
val age = oneInt
val address = one[Address]
}
trait Address {
val street = oneString
}
Person.name.age.Address.street insert
List(
("Lisa", 20, "Broadway"),
("John", 24, "5th Avenue")
)
Person.name.age.Address.street.get ===
List(
("Lisa", 20, "Broadway"),
("John", 24, "5th Avenue")
)
Transact and query your molecules uniformly against any of the three
On-prem
Peer in application process
Remote Peer via http
Like traditional db server
Distributed AWS Cloud system
Testable with dev-Local
m
|
Molecule |
|
![]() |
Datomic® |
|
git clone https://github.com/scalamolecule/molecule-demo.git