软件简介

Logica,一种新的开源逻辑编程语言。 Logica 是 Yedalog(Google 早期开发的一种语言)的继承者,是一种类似于 Datalog 的逻辑编程语言。其代码会编译成 SQL,并在 Google BigQuery 上运行(实验性地支持 PostgreSQL 和 SQLite)。

此外,Logica 支持 SQL 所缺乏的干净和可重用的抽象机制,支持模块和导入,可以在交互式的 Python 笔记本上使用。

代码示例

查找 30 以内的质数

编写primes.l程序:

# Define natural numbers from 1 to 29.
N(x) :- x in Range(30);
# Define primes.
Prime(prime: x) :-
  N(x),
  x > 1,
  ~(
    N(y),
    y > 1,
    y != x,
    Mod(x, y) == 0
  );

运行primes.l

$ logica primes.l run Prime
+-------+
| prime |
+-------+
|     2 |
|     3 |
|     5 |
|     7 |
|    11 |
|    13 |
|    17 |
|    19 |
|    23 |
|    29 |
+-------+
转载自: https://www.oschina.net/p/logica