• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

thanos / ex_datalog / dbccd4e47aba42cbf799e466d85295047e348c24-PR-122
94%
main: 93%

Build:
Build:
LAST BUILD BRANCH: v0.5.0/code_review_fixes
DEFAULT BRANCH: main
Ran 21 Jun 2026 01:41AM UTC
Jobs 1
Files 35
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Jun 2026 01:39AM UTC coverage: 93.517%. First build
dbccd4e47aba42cbf799e466d85295047e348c24-PR-122

Pull #122

github

thanos
v0.4.0: Schema DSL for declaring Datalog programs

Add Ecto-inspired macro DSL (use ExDatalog.Schema) with relation,
fact, facts, rule, query, and wildcard macros that compile into the
existing Program/Rule/Fact/Constraint/Knowledge builder APIs.

Generated functions: program/0, materialize/0,1, queries/0, query/2

New modules:
- ExDatalog.Schema — macro module with __before_compile__
- ExDatalog.DSL.CompileError — readable compile-time errors
- ExDatalog.UnsupportedFeature — forward-compatible aggregate stub

DSL features:
- relation/2: typed field schemas (:atom, :integer, :string, :any)
- fact/1, facts/2: single and bulk fact declaration
- rule/2: lowercase vars, :atom constants, _/wildcard(), not_ negation,
  16 named constraint predicates (gt, eq, add, member, etc.)
- query/2: post-materialization queries with find/where and projection
- Compile-time validation: undefined relations, unsafe variables,
  arity mismatches with descriptive error messages
- Aggregate syntax parsed but not executable (returns UnsupportedFeature)

Documentation:
- README updated with DSL quickstart
- docs/migration_dsl.md — builder API → DSL migration guide
- docs/articles/ — 5 educational articles
- livebooks/ex_datalog_dsl.livemd — interactive tutorial
- CHANGELOG.md — v0.4.0 entry
- mix.exs — extras for livebooks, articles, migration guide; DSL module group
Pull Request #122: V0.4.0/dsl foundation

136 of 165 new or added lines in 2 files covered. (82.42%)

1053 of 1126 relevant lines covered (93.52%)

165.43 hits per line

Uncovered Changes

Lines Coverage ∆ File
29
82.1
lib/ex_datalog/schema.ex
Jobs
ID Job ID Ran Files Coverage
1 dbccd4e47aba42cbf799e466d85295047e348c24-PR-122.1 21 Jun 2026 01:41AM UTC 35
93.52
GitHub Action Run
Source Files on build dbccd4e47aba42cbf799e466d85295047e348c24-PR-122
  • Tree
  • List 35
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #122
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc