Logica逻辑编辑语言

联合创作 · 2023-09-18 21:27

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 |
+-------+
浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报