An open API service indexing awesome lists of open source software.

https://github.com/200ok-ch/tractatus

Specify and work with resources in Clojure
https://github.com/200ok-ch/tractatus

Last synced: 5 months ago
JSON representation

Specify and work with resources in Clojure

Awesome Lists containing this project

README

          

[[https://github.com/200ok-ch/tractatus/actions/workflows/clojure.yml/badge.svg]]

* tractatus
:PROPERTIES:
:CUSTOM_ID: tractatus
:END:

#+BEGIN_QUOTE
The world is everything that is the case.

-- Ludwig Wittgenstein, Tractatus Logico-philosophicus
#+END_QUOTE

*tractatus* is a Clojure library and aims in helping with specifing
and working with resources.

Some might see it as an [[https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping][ORM]] in Clojure. But since "Object Relational
Mapper" sounds way to object oriented, let's redefine ORM to stand for
"Ontology Reification Module".

*tractatus* provides semantics for domain specifications, a DSL to
build domain specifications and protocols (as well as some reference
implentations) to build functionality on top of domain specifications.

*tractatus* is to some extent influenced by

- [[https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping][Object Relational Mapping]]
- [[https://en.wikipedia.org/wiki/Domain-driven_design][Domain Driven Design]]
- [[https://en.wikipedia.org/wiki/Command%E2%80%93query_separation][Command Query Separation]]

** License
:PROPERTIES:
:CUSTOM_ID: license
:END:

Copyright © 2021 200ok GmbH

This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.

This Source Code may also be made available under the following
Secondary Licenses when the conditions for such availability set forth
in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public
License as published by the Free Software Foundation, either version 2
of the License, or (at your option) any later version, with the GNU
Classpath Exception which is available at
https://www.gnu.org/software/classpath/license.html.