Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/google/gulava
Relational programming library for Java.
https://github.com/google/gulava
Last synced: 3 months ago
JSON representation
Relational programming library for Java.
- Host: GitHub
- URL: https://github.com/google/gulava
- Owner: google
- License: mit
- Archived: true
- Created: 2016-02-10T00:52:20.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2020-11-30T16:40:58.000Z (almost 4 years ago)
- Last Synced: 2024-05-19T06:18:59.590Z (6 months ago)
- Language: Java
- Homepage:
- Size: 503 KB
- Stars: 41
- Watchers: 9
- Forks: 16
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- awesome-bazel - Gulava
README
# Gulava
*Relational programming library for Java.*
Gulava allows you to write relational predicates in Java. You can write
Prolog-style predicates and use them from normal Java code, seamlessly
integrated with the magic of annotation processors.See the [GitHub wiki](https://github.com/google/gulava/wiki/How-to-write-a-logic-value-type-and-predicate) for some how-tos and to get started writing your own predicates and logic value types.
This repository requires [Bazel](https://github.com/bazelbuild/bazel) to build,
test, and run. After you have set up Bazel, you can run the demo:```
bazel run //java/gulava:Demo
```Note that Gulava is not an official Google product.
### Contributing
Gulava doesn't have a particular long-term goal in mind besides exploring
relational programming. Any contributions to that end are welcome! That could be
something like:- New relational programming features, like constraint support.
- Interesting demos, like the one in `java/gulava/Demo.java` but better.
- Data structures or other utilities, like `java/gulava/util/Queue.java`.### Related
MicroKanren paper: http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf